diff --git a/Jenkinsfile b/Jenkinsfile
index 0cb74d9616e16d055849794963da0fd25c2ceb93..b95ab3ce633079955d9afec6d65d5318f88b2369 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -346,10 +346,10 @@ String buildVersionName() {
         return getRootPomVersion(pomFile)
     }
     if (isBarrierefreiheitBranch()) {
-        return "${getRootPomVersion(pomFile)}-barrierefreiheit${getCommitHash()}".replaceAll("_", "-")
+        return "${getRootPomVersion(pomFile)}-barrierefreiheit${validateBranchName(env.BRANCH_NAME)}${getCommitHash()}".replaceAll("_", "-")
     }
 
-    return "${getRootPomVersion(pomFile)}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-")
+    return "${getRootPomVersion(pomFile)}-${validateBranchName(env.BRANCH_NAME)}${getCommitHash()}".replaceAll("_", "-")
 }
 
 Void tagAndPushDockerImage(String newTag){
diff --git a/Jenkinsfile.admin b/Jenkinsfile.admin
index 5737e7bcceb6dbb9cfcf07e0d088a3b7807e36ca..2326248239c96b21c06801dfca3653616b22c45d 100644
--- a/Jenkinsfile.admin
+++ b/Jenkinsfile.admin
@@ -63,7 +63,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     tagAndPushDockerImage(IMAGE_TAG)
 
@@ -81,7 +81,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    HELM_CHART_VERSION = generateHelmChartVersion()
+                    HELM_CHART_VERSION = buildVersionName()
 
                    dir('alfa-client/apps/admin') {
                     sh "./run_helm_test.sh"
@@ -146,14 +146,22 @@ Boolean isReleaseBranch() {
     return env.BRANCH_NAME == 'release-admin'
 }
 
-String generateImageTag() {
-    def imageTag = "${env.BRANCH_NAME}-${VERSION}"
-
-    if (isMasterBranch()) {
-        imageTag += "-${env.GIT_COMMIT.take(7)}"
+def validateBranchName(branchName) {
+    int maxLength = 30
+    if (branchName.length() > maxLength) {
+        String originalBranchName = branchName
+        branchName = branchName.substring(0, maxLength)
+        echo "WARNING: Branch name '${originalBranchName}' exceeded ${maxLength} characters. " +
+             "It has been truncated to '${branchName}' for deployment purposes."
     }
+    return branchName
+}
 
-    return imageTag
+String buildVersionName() {
+    if (isReleaseBranch()) {
+        return "${VERSION}"
+    }
+    return "${VERSION}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-")
 }
 
 Void cloneGitopsRepo() {
@@ -247,18 +255,6 @@ Void deployHelmChart(String helmChartVersion) {
         }
     }
 }
-String generateHelmChartVersion() {
-    def chartVersion = "${VERSION}"
-
-    if (isMasterBranch()) {
-        chartVersion += "-${env.GIT_COMMIT.take(7)}"
-    }
-    else if (!isReleaseBranch()) {
-        chartVersion += "-${env.BRANCH_NAME}"
-    }
-
-    return chartVersion.replaceAll("_", "-")
-}
 
 Boolean isMasterBranch() {
     return env.BRANCH_NAME == 'master'