image: gitlab/dind stages: - test - build - deploy variables: SERVICE_NAME: 'reviewer-bot' .build-master: &build-master stage: build script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - docker build --build-arg MODE=$MODE --build-arg PROXY=${PROXY} -t $CI_REGISTRY_IMAGE/$MODE:$CI_PIPELINE_IID -t $CI_REGISTRY_IMAGE/$MODE:latest . - docker push $CI_REGISTRY_IMAGE/$MODE:$CI_PIPELINE_IID - docker push $CI_REGISTRY_IMAGE/$MODE:latest only: - master tags: - docker build daemon: <<: *build-master variables: MODE: daemon .deploy: &deploy stage: deploy script: - docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN $CI_REGISTRY - docker pull $CI_REGISTRY_IMAGE/$MODE:$CI_PIPELINE_IID - docker service update --image $CI_REGISTRY_IMAGE/$MODE:$CI_PIPELINE_IID $SERVICE_NAME-$MODE tags: - docker deploy daemon: <<: *deploy variables: MODE: daemon only: - master