diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eec7acd640c80e7cd3246828442b09ab8d97e5ae..0b262b2db40963372fd911c8625d415525a83aec 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -13,6 +13,7 @@ variables: stages: - test - build + - tag - publish test_job: @@ -33,12 +34,28 @@ build_job: tags: - docker-privileged script: - - docker build -t $CI_REGISTRY_IMAGE:$version -t $CI_REGISTRY_IMAGE:latest -t $CI_REGISTRY_IMAGE:$environment_tag -f Containerfile . + - docker build -t $CI_REGISTRY_IMAGE:$version -f Containerfile . artifacts: paths: - artifact.bin expire_in: 5 min +tag_job: + stage: tag + rules: + - if: $CI_COMMIT_REF_NAME == "prod" || $CI_COMMIT_REF_NAME == "dev" + when: always + image: docker:latest + services: + - docker:dind + tags: + - docker-privileged + dependencies: + - build_job + script: + - docker tag $CI_REGISTRY_IMAGE:$version $CI_REGISTRY_IMAGE:latest + - docker tag $CI_REGISTRY_IMAGE:$version $CI_REGISTRY_IMAGE:$environment_tag + publish_job: stage: publish rules: @@ -49,6 +66,8 @@ publish_job: - docker:dind tags: - docker-privileged + dependencies: + - tag_job script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker push $CI_REGISTRY_IMAGE:$version