stages: - build build: stage: build except: - tags variables: IMAGE_TAG: $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:$CI_COMMIT_SHA LATEST_IMAGE_TAG: $CI_REGISTRY_IMAGE/$CI_COMMIT_BRANCH:latest script: - echo $IMAGE_TAG - echo $LATEST_IMAGE_TAG - docker info - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin - docker build --no-cache -t $IMAGE_TAG -t $LATEST_IMAGE_TAG . - docker push $LATEST_IMAGE_TAG - docker push $IMAGE_TAG build-tag: stage: build only: - tags variables: IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG script: - echo $IMAGE_TAG - docker info - echo "$CI_REGISTRY_PASSWORD" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin - docker build -t $IMAGE_TAG . - docker push $IMAGE_TAG