image: docker:20.10.17 variables: DOCKER_HOST: tcp://localhost:2375 DOCKER_TLS_CERTDIR: '' DEV_CONTAINER_REGISTRY: eu.gcr.io/vnc-development/vnc-avatar:development IMAGE_TAG: $DEV_CONTAINER_REGISTRY-$CI_COMMIT_SHORT_SHA IMAGE_TAG_PROD: eu.gcr.io/vnc-dev-275609/vnc-avatar:production IMAGE_TAG_STABLE: eu.gcr.io/vnc-stable/vnc-avatar:stable services: - name: docker:20.10.17-dind alias: docker stages: - docker - notification dev_deploy: before_script: - until docker info; do sleep 1; done - base64 -d $SA_Development | docker login -u _json_key --password-stdin https://eu.gcr.io stage: docker script: - docker build -t $IMAGE_TAG . - docker push $IMAGE_TAG only: - master prod_deploy: before_script: - until docker info; do sleep 1; done - base64 -d $SA_Production | docker login -u _json_key --password-stdin https://eu.gcr.io stage: docker script: - echo $CI_COMMIT_TAG - COMMIT_VERSION=$(echo $CI_COMMIT_TAG | awk -F'prod-' '{print $2}') - echo $COMMIT_VERSION - DEV_TAG=$DEV_CONTAINER_REGISTRY-$COMMIT_VERSION - echo $DEV_TAG - docker pull $DEV_TAG - PROD_IMAGE=$IMAGE_TAG_PROD-$COMMIT_VERSION - docker tag $DEV_TAG $PROD_IMAGE - docker push $PROD_IMAGE rules: - if: $CI_COMMIT_TAG =~ /^prod-.*/ stable_deploy: before_script: - base64 -d $SA_Production | docker login -u _json_key --password-stdin https://eu.gcr.io stage: docker script: - echo $CI_COMMIT_TAG - COMMIT_VERSION=$(echo $CI_COMMIT_TAG | awk -F'stable-' '{print $2}') - echo $COMMIT_VERSION - DEV_TAG=$DEV_CONTAINER_REGISTRY-$COMMIT_VERSION - echo $DEV_TAG - docker pull $DEV_TAG - STABLE_IMAGE=$IMAGE_TAG_STABLE-$COMMIT_VERSION - docker tag $DEV_TAG $STABLE_IMAGE - docker push $STABLE_IMAGE rules: - if: $CI_COMMIT_TAG =~ /^stable-.*/ successful-results: image: eu.gcr.io/vnc-development/docker-vnc-deb-builder:latest stage: notification script: - echo "SUCCESS" > result.txt - ./tools/nagnotify.sh || echo "done" rules: - if: '$CI_COMMIT_BRANCH == "master"' when: on_success failed-results: image: eu.gcr.io/vnc-development/docker-vnc-deb-builder:latest stage: notification script: - echo "FAILURE" > result.txt - ./tools/nagnotify.sh || echo "done" rules: - if: '$CI_COMMIT_BRANCH == "master"' when: on_failure