diff --git a/Jenkinsfile b/Jenkinsfile index a0024d18b97af6aa7cf4ee0ca642c3281c36d6b4..68429ea5459df710254833ed3e51708f56e0d5aa 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -149,37 +149,76 @@ pipeline { } } } + stage('Rollout Dev Intelliform-Adapter') { + when { + branch 'master' + } + steps { + script { + FAILED_STAGE = env.STAGE_NAME + } - stage('Deploy Intelliform-Adapter') { + container("k8s"){ + script { + sh """ + error=0 + for NAMESPACE in \$(kubectl get namespaces -l ozg-environment=dev -o custom-columns=NAME:.metadata.name --no-headers); \ + do \ + if kubectl get deployment -n \$NAMESPACE | grep afm; then \ + kubectl rollout restart deployment/afm -n \$NAMESPACE; \ + if ! kubectl rollout status deployment/afm -n \$NAMESPACE; then \ + error=1; \ + fi; \ + fi; \ + if kubectl get deployment -n \$NAMESPACE | grep fs; then \ + kubectl rollout restart deployment/fs -n \$NAMESPACE; \ + if ! kubectl rollout status deployment/fs -n \$NAMESPACE; then \ + error=1; \ + fi; \ + fi; \ + if kubectl get deployment -n \$NAMESPACE | grep if; then \ + kubectl rollout restart deployment/if -n \$NAMESPACE; \ + if ! kubectl rollout status deployment/if -n \$NAMESPACE; then \ + error=1; \ + fi; \ + fi; \ + done + exit \$error + """ + } + } + } + } + stage('Trigger Test rollout') { when { - anyOf { - branch 'master' - branch 'release' + anyOf { + branch 'release' + branch 'ozg-2502' } } steps { script { FAILED_STAGE = env.STAGE_NAME - } - container("kubectl"){ - script { - if (env.BRANCH_NAME == 'release') { - sh 'kubectl rollout restart deployment/if-adapter -n sh-land-test' - sh 'kubectl rollout status deployment/if-adapter -n sh-land-test' - } - - if (env.BRANCH_NAME == 'master') { - sh 'kubectl rollout restart deployment/if-adapter -n sh-land-dev' - sh 'kubectl rollout status deployment/if-adapter -n sh-land-dev' - - sh 'kubectl rollout restart deployment/fs-adapter -n sh-kiel-dev' - sh 'kubectl rollout status deployment/fs-adapter -n sh-kiel-dev' - - sh 'kubectl rollout restart deployment/afm-adapter -n sh-kiel-dev' - sh 'kubectl rollout status deployment/afm-adapter -n sh-kiel-dev' - } - } + + 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/rollout.git' + + dir('rollout') { + sh 'git checkout ozg-2502' + + sh "sed -i 's/IF_ADAPTER_APP_VERSION\\=.*/IF_ADAPTER_APP_VERSION=${version}/' versions/test/versions.sh" + + sh 'git add versions/test/versions.sh' + sh 'git config user.email "jenkins@ozg.de"' + sh 'git config user.name "jenkins"' + sh "git commit -m 'jenkins rollout if-adapter ${version}'" + sh 'git push https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/rollout.git' + } + } } } }