stages: - build - release variables: IMAGE_NAME: $CI_REGISTRY_IMAGE IMAGE_TAG: $CI_COMMIT_SHORT_SHA build: stage: build image: docker:26 services: - docker:26-dind before_script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY script: - docker build -t $IMAGE_NAME:$IMAGE_TAG -t $IMAGE_NAME:latest . - docker push $IMAGE_NAME:$IMAGE_TAG - docker push $IMAGE_NAME:latest rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH release: stage: release image: registry.gitlab.com/gitlab-org/release-cli:latest script: - echo "Releasing $IMAGE_TAG" release: tag_name: "v$CI_PIPELINE_IID" description: "Image $IMAGE_NAME:$IMAGE_TAG" rules: - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH