From 8b85dae9ed61123eb9e3d395dfcf0bdcbf51f6f3 Mon Sep 17 00:00:00 2001
From: schnarkus <markus.simianer@yahoo.de>
Date: Sun, 25 Aug 2024 10:56:28 +0200
Subject: [PATCH] tag in a sepate job

---
 .gitlab-ci.yml | 21 ++++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eec7acd..0b262b2 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
-- 
GitLab