diff --git a/Jenkinsfile b/Jenkinsfile index 2293baf030f8980862358691a32abe1e8c62f76b..8d71df7d2520f38440fb2c62a7e0c5c479e3259a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -206,7 +206,7 @@ pipeline { script { sh """ error=0 - for NAMESPACE in \$(kubectl get namespaces -l ozg-environment=dev -o custom-columns=NAME:.metadata.name --no-headers); \ + for NAMESPACE in \$(kubectl get namespaces -l 'ozg-environment=dev,update-namespace notin (false)' -o custom-columns=NAME:.metadata.name --no-headers); \ do \ if kubectl get deployment -n \$NAMESPACE | grep goofy; then \ kubectl rollout restart deployment/goofy -n \$NAMESPACE; \ @@ -223,28 +223,29 @@ pipeline { } stage('Trigger Test | Stage rollout') { when { - anyOf { - branch 'release' - branch 'master' - } + // todo rename to release + branch 'ozg-2387' } + steps { script { FAILED_STAGE = env.STAGE_NAME - - withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) { - sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/rollout.git' - dir('rollout') { - sh "sed -i 's/GOOFY_APP_VERSION\\=.*/GOOFY_APP_VERSION=${VERSION}/' versions/test/versions.sh" - sh "sed -i 's/GOOFY_APP_VERSION\\=.*/GOOFY_APP_VERSION=${VERSION}/' versions/stage/versions.sh" + def pom = readMavenPom file: 'pom.xml' + def version = pom.version + + withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) { + sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/provisioning.git' - sh 'git add versions/.' - sh 'git config user.email "jenkins@ozg.de"' - sh 'git config user.name "jenkins"' - sh "git commit -m 'jenkins rollout goofy ${VERSION}'" - sh 'git push https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/rollout.git' + // todo remove + dir('provisioning') { + sh 'git checkout ozg-2502' } + + setNewGoofyProvisioningVersion('test', version) + setNewGoofyProvisioningVersion('stage', version) + + pushNewProvisioningVersion(USER, TOKEN, version) } } } @@ -374,9 +375,9 @@ Void checkoutProvisioningRepo(String stage) { sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/provisioning.git' // todo remove git checkout - //dir('provisioning') { - // sh 'git checkout ozg-2552-jenkins-e2e' - //} + dir('provisioning') { + sh 'git checkout ozg-2502' + } } } } @@ -645,4 +646,25 @@ Void initHelmRepo() { sh 'helm repo add ozg-base-apps-snapshot https://nexus.ozg-sh.de/repository/ozg-base-apps-snapshot --username ${USER} --password ${PASSWORD}' sh 'helm repo add ozg-base-apps https://nexus.ozg-sh.de/repository/ozg-base-apps --username ${USER} --password ${PASSWORD}' } +} + +Void setNewGoofyProvisioningVersion(String environment, String version) { + dir("provisioning") { + def envFile = "playbook/inventory/versions/${environment}.yml" + def envVersions = readYaml file: envFile + + envVersions.versions.goofy.image.tag = version + + writeYaml file: envFile, data: envVersions, overwrite: true + } +} + +Void pushNewProvisioningVersion(String user, String token, String version) { + dir('provisioning') { + sh 'git add playbook/inventory/versions/.' + sh 'git config user.email "jenkins@ozg.de"' + sh 'git config user.name "jenkins"' + sh "git commit -m 'jenkins rollout goofy test stage version ${version}'" + sh 'git push https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/provisioning.git' + } } \ No newline at end of file