Skip to content
Snippets Groups Projects
.gitlab-ci.yml 1.93 KiB
Newer Older
  - deploy

## Cache composer packages between all jobs and all branches
## of this project...
cache:
  key: one-key-to-rull-them-all
  paths:
    - composer-cache/


# Test with PHP7.4
test:php74:
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/cylab/php74:latest
Tibo's avatar
Tibo committed
  before_script:
    - cp env.gitlab-ci .env
    - touch storage/app/db.sqlite
    - COMPOSER_CACHE_DIR=composer-cache composer install --ignore-platform-reqs
    - php artisan key:generate
    - php artisan migrate
    - vendor/bin/phpunit --coverage-text --colors=never --coverage-html build/coverage
  artifacts:
    paths:
      # contains code coverage
      - build/
    expire_in: 1 month

  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/docker:19.03.1
  stage: build
  tags:
    - dind
  services:
    - docker:19.03.1-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
    IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
  before_script:
    - docker info
  script:
    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
    - docker build -t gitlab.cylab.be:8081/cylab/mark-web:$CI_COMMIT_REF_SLUG .
    - docker tag gitlab.cylab.be:8081/cylab/mark-web:$CI_COMMIT_REF_SLUG gitlab.cylab.be:8081/cylab/mark-web:latest
    - docker push gitlab.cylab.be:8081/cylab/mark-web:$CI_COMMIT_REF_SLUG
    - docker push gitlab.cylab.be:8081/cylab/mark-web:latest
  image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/docker:19.03.1
  stage: build
  tags:
    - dind
  services:
    - docker:19.03.1-dind
  variables:
    DOCKER_TLS_CERTDIR: "/certs"
  before_script:
    - docker info
  script:
    - docker build -t cylab/mark-web:$CI_COMMIT_TAG .
Tibo's avatar
Tibo committed
    - docker tag cylab/mark-web:$CI_COMMIT_TAG cylab/mark-web:latest
    - docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
    - docker push cylab/mark-web:$CI_COMMIT_TAG
a.croix's avatar
a.croix committed
    - docker push cylab/mark-web:latest