diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9c035e8d2e7d495c71f338cb30e27c15180677e7..048e1663ba0e011f121b0480fa895cbc5a65b65a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -81,16 +81,36 @@ publishgit-do: - git push gith $CI_COMMIT_REF_NAME -# This should be an automatic push of the docker image into gitLab container repository -# Currently not working due to docker login failing because of firewall issues +# This is an automatic push of the docker image into gitLab container repository transfer_image: + stage: build + image: docker:19.03.12 + services: + - docker:19.03.12-dind + variables: + IMAGE_COMMIT_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY + - docker build --no-cache=true --pull -f ./apiserver/Dockerfile -t $IMAGE_COMMIT_TAG . + - docker push $IMAGE_COMMIT_TAG + +tag_release: stage: publish + needs: ["transfer_image"] image: docker:19.03.12 services: - docker:19.03.12-dind variables: - IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + IMAGE_LATEST_TAG: $CI_REGISTRY_IMAGE:latest + IMAGE_STABLE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG + IMAGE_COMMIT_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA + only: + - tags + tags: [stable] script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - - docker build --no-cache=true --pull -f ./apiserver/Dockerfile -t $IMAGE_TAG . - - docker push $IMAGE_TAG + - docker pull $IMAGE_COMMIT_TAG + - docker tag $IMAGE_COMMIT_TAG $IMAGE_STABLE_TAG + - docker tag $IMAGE_COMMIT_TAG $IMAGE_LATEST_TAG + - docker push $IMAGE_STABLE_TAG + - docker push $IMAGE_LATEST_TAG