diff --git a/Jenkinsfile b/Jenkinsfile index 4886f483a86969d008d1d31037a268f28894eb42..40aec74e249779123c645f5031933c0768432176 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,7 +1,7 @@ pipeline { agent { node { - label 'jenkins-worker' + label 'jenkins-build-agent' } } @@ -59,64 +59,59 @@ pipeline { script { FAILED_STAGE=env.STAGE_NAME } - container("maven-17"){ - configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { - sh 'mvn -pl user-manager-interface -s $MAVEN_SETTINGS clean deploy -Dmaven.wagon.http.retryHandler.count=3' - } + + configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { + sh 'mvn -pl user-manager-interface -s $MAVEN_SETTINGS clean deploy -Dmaven.wagon.http.retryHandler.count=3' } } } - + stage('Build UserManager') { steps { script { FAILED_STAGE=env.STAGE_NAME } - container("quarkus-22"){ - configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { - sh './mvnw -pl user-manager-server -s $MAVEN_SETTINGS clean deploy -Dmaven.wagon.http.retryHandler.count=3' + + configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { + sh './mvnw -pl user-manager-server -s $MAVEN_SETTINGS clean deploy -Dmaven.wagon.http.retryHandler.count=3' - junit testResults: '**/target/surefire-reports/*.xml', skipPublishingChecks: true - } - } + junit testResults: '**/target/surefire-reports/*.xml', skipPublishingChecks: true + } } } - + stage('Build native container image') { steps { script { FAILED_STAGE=env.STAGE_NAME - - container("quarkus-22"){ - withCredentials([usernamePassword(credentialsId: 'jenkins-docker-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { - configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { - sh './mvnw -pl user-manager-server -s $MAVEN_SETTINGS clean verify -Pnative -Dquarkus.container-image.registry=docker.ozg-sh.de -Dquarkus.container-image.username=${USER} -Dquarkus.container-image.password=${PASSWORD} -Dquarkus.container-image.push=true -Dquarkus.container-image.build=true -Dmaven.wagon.http.retryHandler.count=3' - } + + + withCredentials([usernamePassword(credentialsId: 'jenkins-docker-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { + configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { + sh './mvnw -pl user-manager-server -s $MAVEN_SETTINGS clean verify -Pnative -Dquarkus.container-image.registry=docker.ozg-sh.de -Dquarkus.container-image.username=${USER} -Dquarkus.container-image.password=${PASSWORD} -Dquarkus.container-image.push=true -Dquarkus.container-image.build=true -Dmaven.wagon.http.retryHandler.count=3' } - } - } + } + } } } - + stage('Sonar Checks') { steps { script { FAILED_STAGE=env.STAGE_NAME } - container("maven-17") { - configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { - dir('user-manager-server') { - script { - try { - if (env.BRANCH_NAME == 'master') { - withSonarQubeEnv('sonarqube-ozg-sh'){ - def workspace = WORKSPACE - sh "mvn -s $MAVEN_SETTINGS test sonar:sonar -Dsonar.coverage.jacoco.xmlReportPaths=${env.WORKSPACE}/user-manager-server/target/jacoco-report/jacoco.xml" - } + configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { + dir('user-manager-server') { + script { + try { + if (env.BRANCH_NAME == 'master') { + withSonarQubeEnv('sonarqube-ozg-sh'){ + def workspace = WORKSPACE + sh "mvn -s $MAVEN_SETTINGS test sonar:sonar -Dsonar.coverage.jacoco.xmlReportPaths=${env.WORKSPACE}/user-manager-server/target/jacoco-report/jacoco.xml" } - } catch (Exception e) { - unstable("SonarQube failed") - } + } + } catch (Exception e) { + unstable("SonarQube failed") } } } @@ -144,20 +139,18 @@ pipeline { stage('Test, build and deploy Helm Chart') { steps { - container('k8s') { - script { - FAILED_STAGE=env.STAGE_NAME - HELM_CHART_VERSION = generateHelmChartVersion() + script { + FAILED_STAGE=env.STAGE_NAME + HELM_CHART_VERSION = generateHelmChartVersion() - dir('src/main/helm') { - sh "helm lint -f test-values.yaml" + dir('src/main/helm') { + sh "helm lint -f test-values.yaml" - sh "helm unittest -f '../../test/helm/*.yaml' ." + sh "helm unittest -f '../../test/helm/*.yaml' ." - sh "helm package --version=${HELM_CHART_VERSION} ." + sh "helm package --version=${HELM_CHART_VERSION} ." - deployHelmChart(HELM_CHART_VERSION) - } + deployHelmChart(HELM_CHART_VERSION) } } } @@ -325,13 +318,11 @@ String generateImageTag() { } Void tagAndPushDockerImage(String newTag) { - container("quarkus-22") { - withCredentials([usernamePassword(credentialsId: 'jenkins-docker-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { - sh 'podman login docker.ozg-sh.de -u ${USER} -p ${PASSWORD}' - sh "podman pull docker.ozg-sh.de/root/user-manager:build-latest" + withCredentials([usernamePassword(credentialsId: 'jenkins-docker-login', usernameVariable: 'USER', passwordVariable: 'PASSWORD')]) { + sh 'podman login docker.ozg-sh.de -u ${USER} -p ${PASSWORD}' + sh "podman pull docker.ozg-sh.de/root/user-manager:build-latest" - sh "podman tag docker.ozg-sh.de/root/user-manager:build-latest docker.ozg-sh.de/user-manager:${newTag}" - sh "podman push docker.ozg-sh.de/user-manager:${newTag}" - } + sh "podman tag docker.ozg-sh.de/root/user-manager:build-latest docker.ozg-sh.de/user-manager:${newTag}" + sh "podman push docker.ozg-sh.de/user-manager:${newTag}" } } \ No newline at end of file