diff --git a/Jenkinsfile b/Jenkinsfile index 6ea5a1b391001c078f77b15b1d459b812c742db0..0ccffe358397583edcda8499c639937a956117c9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -106,7 +106,7 @@ tools { go 'go-1.22.0' } sh "docker build -t docker.ozg-sh.de/fachstellen-proxy:${env.APP_VERSION} ." - IMAGE_TAG = generateImageTag() + IMAGE_TAG = buildVersionName() tagAndPushDockerImage('fachstellen-proxy', IMAGE_TAG) @@ -124,7 +124,7 @@ tools { go 'go-1.22.0' } steps { script { FAILED_STAGE=env.STAGE_NAME - HELM_CHART_VERSION = generateHelmChartVersion() + HELM_CHART_VERSION = buildVersionName() dir('src/main/helm') { sh "helm lint -f ../../test/helm-linter-values.yaml" @@ -195,12 +195,6 @@ String getHelmRepository(){ return 'ozg-base-apps-snapshot'; } -String generateImageTag() { - return "${env.APP_VERSION}-${env.BRANCH_NAME}" -} - - - String getBuildProfile() { if (isMasterBranch()) { return "-P master" @@ -315,17 +309,22 @@ 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}" +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 +} - return chartVersion.replaceAll("_", "-") +String buildVersionName() { + if (isReleaseBranch()) { + return env.APP_VERSION + } + return "${env.APP_VERSION}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-") } Void tagAndPushDockerImage(String imageName, String newTag){ withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) {