diff --git a/Jenkinsfile b/Jenkinsfile index f2dec8dd87ec65412cad3393a64933ed1e21b71d..e147e2ff7bab2c8a70de94f403cf2f097c9a4e72 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -264,6 +264,25 @@ pipeline { dependencyCheckPublisher pattern: 'dependency-check-report.xml' } } + + stage ('Trigger Barrierefreiheit Rollout') { + when { + branch 'barrierefreiheit-dev' + } + steps { + script { + FAILED_STAGE = env.STAGE_NAME + + cloneGitopsRepo() + + setNewBarrierefreiheitVersion() + + pushGitopsRepo() + + } + } + } + } post { failure { @@ -295,7 +314,10 @@ String generateHelmChartVersion() { def chartVersion = "${VERSION}" if (isMasterBranch()) { - chartVersion += "-${env.GIT_COMMIT.take(7)}" + chartVersion += getCommitHash() + } + else if (isBarrierefreiheitBranch()) { + chartVersion += "-barrierefreiheit${getCommitHash()}" } else if (!isReleaseBranch()) { chartVersion += "-${env.BRANCH_NAME}" @@ -316,8 +338,8 @@ Void tagAndPushDockerImage(String newTag){ String generateImageTag() { def imageTag = "${env.BRANCH_NAME}-${VERSION}" - if (isMasterBranch()) { - imageTag += "-${env.GIT_COMMIT.take(7)}" + if (isMasterBranch() || isBarrierefreiheitBranch()) { + imageTag += getCommitHash() } return imageTag @@ -386,9 +408,19 @@ Void setNewTestVersion() { } Void setNewGitopsVersion(String environment) { - dir("gitops") { - def envFile = "${environment}/application/values/alfa-values.yaml" + def envFile = "${environment}/application/values/alfa-values.yaml" + def commitMessage = "jenkins rollout ${environment} alfa version ${IMAGE_TAG}"; + setNewGitopsVersion(envFile, commitMessage); +} +Void setNewBarrierefreiheitVersion() { + def envFile = "dev/namespace/namespaces/by-barrierefreiheit-dev.yaml" + def commitMessage = "jenkins rollout ${IMAGE_TAG} for Barrierefreiheit Dev" + setNewGitopsVersion(envFile, commitMessage); +} + +Void setNewGitopsVersion(String envFile, String commitMessage) { + dir("gitops") { def envVersions = readYaml file: envFile envVersions.alfa.image.tag = IMAGE_TAG @@ -396,15 +428,19 @@ Void setNewGitopsVersion(String environment) { writeYaml file: envFile, data: envVersions, overwrite: true - if (hasValuesFileChanged(environment)) { + if (hasValuesFileChanged(envFile)) { sh "git add ${envFile}" - sh "git commit -m 'jenkins rollout ${environment} alfa version ${IMAGE_TAG}'" + sh "git commit -m '${commitMessage}'" } } } -Boolean hasValuesFileChanged(String environment) { - return sh (script: "git status | grep '${environment}/application/values/alfa-values.yaml'", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer +String getCommitHash() { + return "-${env.GIT_COMMIT.take(7)}"; +} + +Boolean hasValuesFileChanged(String envFile) { + return sh (script: "git status | grep '${envFile}'", returnStatus: true) == env.SH_SUCCESS_STATUS_CODE as Integer } Boolean isReleaseBranch() { @@ -415,6 +451,10 @@ Boolean isMasterBranch() { return env.BRANCH_NAME == 'master' } +Boolean isBarrierefreiheitBranch() { + return env.BRANCH_NAME == 'barrierefreiheit-dev' +} + Boolean isReleaseVersion(List versions) { return matchRegexVersion(versions, RELEASE_REGEX) }