diff --git a/Jenkinsfile b/Jenkinsfile index 69e91a6361583a95c21467932ae8d53f78fbe9a3..9ca5bab61dd798b86d05df3b670d3571269e1614 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -35,8 +35,8 @@ pipeline { FAILED_STAGE = "" SH_SUCCESS_STATUS_CODE = 0 - IMAGE_TAG = generateImageTag() - HELM_CHART_VERSION = generateHelmChartVersion() + IMAGE_TAG = buildVersionName() + HELM_CHART_VERSION = buildVersionName() BUILD_PROFILE = getBuildProfile() } @@ -152,7 +152,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')]) { @@ -313,16 +313,22 @@ String deployChartToNexus(String usernamePassword, String helmChartArchive, Stri """, returnStdout: true).trim() } -String generateHelmChartVersion() { - def chartVersion = getRootPomVersion() - - if (isMasterBranch()) { - chartVersion += "-${env.GIT_COMMIT.take(7)}" - } else if (env.BRANCH_NAME != 'release') { - chartVersion += "-${env.BRANCH_NAME}" +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 chartVersion.replaceAll("_", "-").take(50) +String buildVersionName() { + if (isReleaseBranch()) { + return getRootPomVersion() + } + return "${getRootPomVersion()}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-") } Void sendFailureMessage() { @@ -470,16 +476,6 @@ String getPomVersion(String pomFile){ return pom.version } -String generateImageTag() { - def imageTag = "${env.BRANCH_NAME}-${getRootPomVersion()}" - - if (isMasterBranch()) { - imageTag += "-${env.GIT_COMMIT.take(7)}" - } - - return imageTag -} - String getBuildProfile() { if (isMasterBranch()) { return "-P dev"