diff --git a/Jenkinsfile b/Jenkinsfile
index f2ad4ec0355e4022d7ba6bb4cc388ae48ee01604..691142c386bd539e9be6e8debbd0a49deb011376 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -116,7 +116,7 @@ pipeline {
                 script {
                     catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
                         dir('alfa-client') {
-                            IMAGE_TAG = generateImageTag()
+                            IMAGE_TAG = buildVersionName()
 
                             withNPM(npmrcConfig: 'npm-nexus-auth') {
                                 sh 'npm run ci-build-alfa-client-container'
@@ -159,7 +159,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
                         sh 'mvn --version'
@@ -225,7 +225,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    HELM_CHART_VERSION = generateHelmChartVersion()
+                    HELM_CHART_VERSION = buildVersionName()
 
                     sh "./run_helm_test.sh"
 
@@ -242,9 +242,9 @@ pipeline {
         stage('Test, build and deploy Alfa-Client Helm Chart') {
             steps {
                 script {
+                    FAILED_STAGE=env.STAGE_NAME
+                    HELM_CHART_VERSION = buildVersionName()
                     dir('alfa-client') {
-                        FAILED_STAGE=env.STAGE_NAME
-                        HELM_CHART_VERSION = generateHelmChartVersion()
 
                         sh "./run_helm_test.sh"
 
@@ -295,7 +295,7 @@ pipeline {
         stage ('Deploy SBOM to DependencyTrack') {
             steps {
                 script {
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) {
                         withCredentials([string(credentialsId: 'dependency-track-api-key', variable: 'API_KEY')]) {
@@ -356,20 +356,27 @@ Void deployHelmChart(String helmChartVersion, String app ) {
     }
 }
 
-String generateHelmChartVersion() {
-    def chartVersion = "${VERSION}"
-
-    if (isMasterBranch()) {
-        chartVersion += getCommitHash()
+String 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."
     }
-    else if (isBarrierefreiheitBranch()) {
-        chartVersion += "-barrierefreiheit${getCommitHash()}"
+    return branchName
+}
+
+String buildVersionName() {
+
+    if (isReleaseBranch()) {
+        return getRootPomVersion()
     }
-    else if (!isReleaseBranch()) {
-        chartVersion += "-${env.BRANCH_NAME}"
+    if (isBarrierefreiheitBranch()) {
+        return "${getRootPomVersion()}-barrierefreiheit${validateBranchName(env.BRANCH_NAME)}${getCommitHash()}".replaceAll("_", "-")
     }
 
-    return chartVersion.replaceAll("_", "-")
+    return "${getRootPomVersion()}-${validateBranchName(env.BRANCH_NAME)}${getCommitHash()}".replaceAll("_", "-")
 }
 
 Void tagAndPushDockerImage(String newTag){
@@ -381,16 +388,6 @@ Void tagAndPushDockerImage(String newTag){
     }
 }
 
-String generateImageTag() {
-    def imageTag = "${env.BRANCH_NAME}-${VERSION}"
-
-    if (isMasterBranch() || isBarrierefreiheitBranch()) {
-        imageTag += getCommitHash()
-    }
-
-    return imageTag
-}
-
 Void cloneGitopsRepo() {
     withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) {
         sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/ozgcloud-devops/gitops.git'
diff --git a/Jenkinsfile.admin b/Jenkinsfile.admin
index b3a8d5e1e283f2633ea082c115d0fd61f3190086..328d865ae486af46a901005eda56df55e13dbc0f 100644
--- a/Jenkinsfile.admin
+++ b/Jenkinsfile.admin
@@ -89,7 +89,7 @@ pipeline {
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     tagAndPushDockerImage(IMAGE_TAG)
 
@@ -107,7 +107,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"
@@ -172,14 +172,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() {
@@ -273,18 +281,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'