diff --git a/Jenkinsfile b/Jenkinsfile index 0cedc675b064aad84ea078968f93fd9a75be7b1e..9a076e2288ef97a755bdae010e86fcc862c2cdea 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -111,7 +111,7 @@ pipeline { steps { script { FAILED_STAGE=env.STAGE_NAME - IMAGE_TAG = generateImageTag() + IMAGE_TAG = buildVersionName() tagAndPushDockerImage(ELSTER_TRANSFER_OPERATOR_NAME, IMAGE_TAG) @@ -130,7 +130,7 @@ pipeline { steps { script { FAILED_STAGE=env.STAGE_NAME - HELM_CHART_VERSION = generateHelmChartVersion() + HELM_CHART_VERSION = buildVersionName() sh "./run_helm_test.sh" @@ -173,7 +173,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')]) { @@ -220,14 +220,21 @@ String getHelmRepoUrl(){ return "https://nexus.ozg-sh.de/service/rest/v1/components?repository=ozg-base-apps-snapshot" } -String generateHelmChartVersion() { - def chartVersion = "${getPomVersion('pom.xml')}"+"-${env.GIT_COMMIT.take(7)}" - - 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 chartVersion.replaceAll('_', '-') + return branchName +} +String buildVersionName() { + if (env.BRANCH_NAME == 'release') { + return getPomVersion('pom.xml') + } + return "${getPomVersion('pom.xml')}-${validateBranchName(env.BRANCH_NAME)}-${env.GIT_COMMIT.take(7)}".replaceAll("_", "-") } Boolean isMasterBranch() { @@ -329,17 +336,6 @@ String getPomVersion(String pomFile){ return pom.version } -String generateImageTag() { - def imageTag = "${env.BRANCH_NAME}-${getPomVersion('pom.xml')}" - - if (env.BRANCH_NAME == 'master') { - imageTag += "-${env.GIT_COMMIT.take(7)}" - } - - return imageTag -} - - Boolean isReleaseVersion(List versions) { return matchRegexVersion(versions, RELEASE_REGEX) }