diff --git a/Jenkinsfile b/Jenkinsfile
index 48724ef5ef4e0202ba153b49f1f6f1c4c619bedf..2441bc005b5f24c46db889cc6ff7012345f00991 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -97,7 +97,7 @@ tools { go 'go-1.22.0' }
                 
                    sh "docker build -t docker.ozg-sh.de/info-manager-proxy:${env.APP_VERSION} ."
 
-                    IMAGE_TAG = generateImageTag()
+                    IMAGE_TAG = buildVersionName()
 
                     tagAndPushDockerImage('info-manager-proxy', IMAGE_TAG)
 
@@ -115,7 +115,7 @@ tools { go 'go-1.22.0' }
             steps {
                 script {
                     FAILED_STAGE=env.STAGE_NAME
-                    HELM_CHART_VERSION = generateHelmChartVersion()
+                    HELM_CHART_VERSION = buildVersionName()
 
                     sh "./run_helm_test.sh"
 
@@ -185,8 +185,22 @@ String getHelmRepository(){
     return 'ozg-base-apps-snapshot';
 }
 
-String generateImageTag() {
-    return "${env.APP_VERSION}-${env.BRANCH_NAME}"
+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."
+    }
+    return branchName
+}
+
+String buildVersionName() {
+        if (isReleaseBranch()) {
+        return env.APP_VERSION
+    }
+    return "${env.APP_VERSION}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-")
 }
 
 
@@ -305,18 +319,6 @@ Boolean isReleaseBranch() {
     return env.BRANCH_NAME == 'release'
 }
 
-String generateHelmChartVersion() {
-    def chartVersion = "${env.APP_VERSION}" 
-
-    if (isMasterBranch()) {
-        chartVersion += "-${env.GIT_COMMIT.take(7)}"
-    }
-    else if (!isReleaseBranch()) {
-        chartVersion += "-${env.BRANCH_NAME}"
-    }
-
-    return chartVersion.replaceAll("_", "-")
-}
 Void tagAndPushDockerImage(String imageName, String newTag){
     withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) {
         sh 'docker login docker.ozg-sh.de -u ${USER} -p ${PASSWORD}'