From 1885764bc9d84b5ee618e338a88041be79ced602 Mon Sep 17 00:00:00 2001
From: Lukas Malte Monnerjahn <lukasmalte.monnerjahn@dataport.de>
Date: Tue, 11 Feb 2025 14:19:53 +0100
Subject: [PATCH] add a dynamic image tag to the image name

avoid pushing an unwanted 'latest' tag
---
 .gitlab-ci.yml | 6 ++++++
 pom.xml        | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 54b44d2d..100b059e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -69,6 +69,7 @@ push-merge-request-image-gitlab:
   stage: publish
   extends: .get-version
   script:
+    - export PRIMARY_IMAGE_TAG=${MERGE_REQUEST_TAG}
     - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${MERGE_REQUEST_TAG},${CI_REGISTRY_IMAGE}:${MERGE_REQUEST_TAG}-${CI_COMMIT_SHORT_SHA}"
     - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
   rules:
@@ -79,6 +80,7 @@ push-merge-request-image-nexus:
   stage: publish
   extends: .get-version
   script:
+    - export PRIMARY_IMAGE_TAG=${MERGE_REQUEST_TAG}
     - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${MERGE_REQUEST_TAG},${NEXUS_IMAGE_PREFIX}:${MERGE_REQUEST_TAG}-${CI_COMMIT_SHORT_SHA}"
     - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
   rules:
@@ -109,6 +111,7 @@ push-snapshot-image-gitlab:
   stage: publish
   extends: .get-version
   script:
+    - export PRIMARY_IMAGE_TAG=${SNAPSHOT_TAG}
     - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${SNAPSHOT_TAG},${CI_REGISTRY_IMAGE}:${SNAPSHOT_TAG}-${CI_COMMIT_SHORT_SHA},${CI_REGISTRY_IMAGE}:snapshot-latest"
     - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
   only:
@@ -118,6 +121,7 @@ push-snapshot-image-nexus:
   stage: publish
   extends: .get-version
   script:
+    - export PRIMARY_IMAGE_TAG=${SNAPSHOT_TAG}
     - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${SNAPSHOT_TAG},${NEXUS_IMAGE_PREFIX}:${SNAPSHOT_TAG}-${CI_COMMIT_SHORT_SHA},${NEXUS_IMAGE_PREFIX}:snapshot-latest"
     - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
   only:
@@ -169,6 +173,7 @@ push-release-image-gitlab:
   extends: .get-version
   script:
     - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS
+    - export PRIMARY_IMAGE_TAG=${CI_COMMIT_TAG}
     - export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG},${CI_REGISTRY_IMAGE}:latest"
     - mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
   rules:
@@ -179,6 +184,7 @@ push-release-image-nexus:
   extends: .get-version
   script:
     - mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS
+    - export PRIMARY_IMAGE_TAG=${CI_COMMIT_TAG}
     - export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${CI_COMMIT_TAG},${NEXUS_IMAGE_PREFIX}:latest"
     - mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
   rules:
diff --git a/pom.xml b/pom.xml
index 74974488..0d66ffbb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -232,7 +232,7 @@
 						<artifactId>spring-boot-maven-plugin</artifactId>
 						<configuration>
 							<image>
-								<name>${CI_REGISTRY_IMAGE}</name>
+								<name>${CI_REGISTRY_IMAGE}:${PRIMARY_IMAGE_TAG}</name>
 								<tags>${IMAGE_TAGS}</tags>
 								<publish>true</publish>
 							</image>
-- 
GitLab