diff --git a/Jenkinsfile b/Jenkinsfile index 087c9be74b9b8542bf972adddc02f6a5ea6fe253..b10e9e6c8d99723febda876d12e6d9bf1608c2f8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -78,7 +78,7 @@ pipeline { steps { script { FAILED_STAGE = env.STAGE_NAME - IMAGE_TAG = generateImageTag() + IMAGE_TAG = buildVersionName() tagAndPushDockerImage(IMAGE_TAG) @@ -96,7 +96,7 @@ pipeline { steps { script { FAILED_STAGE=env.STAGE_NAME - HELM_CHART_VERSION = generateHelmChartVersion() + HELM_CHART_VERSION = buildVersionName() dir('client') { sh "./run_helm_test.sh" } @@ -186,19 +186,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("_", "-") -} - Void tagAndPushDockerImage(String newTag){ withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { sh 'docker login docker.ozg-sh.de -u ${USER} -p ${PASSWORD}' @@ -208,14 +195,22 @@ Void tagAndPushDockerImage(String newTag){ } } -String generateImageTag() { - def imageTag = "${env.BRANCH_NAME}-${VERSION}" - - if (isMasterBranch()) { - imageTag += "-${env.GIT_COMMIT.take(7)}" +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 imageTag +String buildVersionName() { + if (env.BRANCH_NAME == 'release') { + return VERSION + } + return "${VERSION}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-") } Void cloneGitopsRepo() {