stages: - publish - deploy publish: stage: publish image: docker:stable services: - docker:stable-dind only: - tags script: - docker info - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY - IMAGE="$IMAGE_NAME:$CI_COMMIT_TAG" - IMAGE_LATEST="$IMAGE_NAME:latest" - docker build . -f ./Dockerfile -t "$IMAGE" - docker tag "$IMAGE" "$IMAGE_LATEST" - docker push $IMAGE - docker push $IMAGE_LATEST deploy: stage: deploy image: ansible script: - ansible-playbook -i "$DEPLOY_HOST" ansible/deploy-playbook.yaml --extra-vars "image_name=$IMAGE"