diff --git a/Jenkinsfile b/Jenkinsfile index 67fd380521ce9b8b15ef4f093668ad9084130711..5e663c6ec3ad7a89633c6dbc8f7a74a6f55c2325 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -24,192 +24,192 @@ pipeline { buildDiscarder(logRotator(numToKeepStr: '5')) } - stages { - stage('Check Version') { - steps { - script { - FAILED_STAGE = env.STAGE_NAME - def rootVersion = getPomVersion('pom.xml') - def userManagerVersion = getPomVersion('user-manager-server/pom.xml') - def interfaceVersion = getPomVersion('user-manager-interface/pom.xml') - - if(env.BRANCH_NAME == 'release'){ - if ( !(rootVersion ==~ RELEASE_REGEX) || !(userManagerVersion ==~ RELEASE_REGEX) || !(interfaceVersion ==~ RELEASE_REGEX)) { - error("Keine Release Version für Branch ${env.BRANCH_NAME}.") - } - } else { - if ( !(rootVersion ==~ SNAPSHOT_REGEX) || !(userManagerVersion ==~ SNAPSHOT_REGEX) || !(interfaceVersion ==~ SNAPSHOT_REGEX)) { - error("Keine Snapshot Version für Branch ${env.BRANCH_NAME}.") - } - } - - if( !(rootVersion == userManagerVersion && rootVersion == interfaceVersion )){ - error("Versionen sind nicht identisch") - } - } - } - } - - stage('Build UserManager GRPC') { - steps { - script { - FAILED_STAGE=env.STAGE_NAME - } - - configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { - sh './mvnw -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 - - 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 - } - } - } - } - - stage('Build native container image') { - steps { - script { - FAILED_STAGE=env.STAGE_NAME - - withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-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 -Dquarkus.native.remote-container-build=true -Dmaven.wagon.http.retryHandler.count=3' - } - } - } - } - } - - stage ('OWASP Dependency-Check Vulnerabilities') { - steps { - dependencyCheck additionalArguments: ''' - -o "./" - -s "./" - -f "ALL" - -d /dependency-check-data - --suppression dependency-check-supressions.xml - --disableKnownExploited - --disableArchive - --prettyPrint''', odcInstallation: 'dependency-check-owasp' - - dependencyCheckPublisher pattern: 'dependency-check-report.xml' - } - } - - stage('Sonar Checks') { - when { - branch 'master' - } - steps { - script { - FAILED_STAGE=env.STAGE_NAME - - configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { - dir('user-manager-server') { - try { - withSonarQubeEnv('sonarqube-ozg-sh'){ - sh "./mvnw -s $MAVEN_SETTINGS package sonar:sonar -Dsonar.coverage.jacoco.xmlReportPaths=${env.WORKSPACE}/user-manager-server/target/jacoco-report/jacoco.xml" - } - } catch (Exception e) { - unstable("SonarQube failed") - } - } - } - } - } - } - - stage('Tag and Push Docker image') { - steps { - script { - FAILED_STAGE = env.STAGE_NAME - IMAGE_TAG = generateImageTag() - - tagAndPushDockerImage(IMAGE_TAG) - - if (env.BRANCH_NAME == 'master') { - tagAndPushDockerImage('snapshot-latest') - } - else if (env.BRANCH_NAME == 'release') { - tagAndPushDockerImage('latest') - } - } - } - } - - stage('Test, build and deploy Helm Chart') { - steps { - script { - FAILED_STAGE=env.STAGE_NAME - HELM_CHART_VERSION = generateHelmChartVersion() - - dir('src/main/helm') { - sh "helm lint -f ../../test/unit-values.yaml" - - sh "helm unittest -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' ." - - sh "helm package --version=${HELM_CHART_VERSION} ." - - deployHelmChart(HELM_CHART_VERSION) - } - } - } - } - - stage('Rollout Dev UserManager') { - when { - branch 'master' - } - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - cloneGitopsRepo() - - setNewDevUserManagerVersion() - - pushDevGitopsRepo() - } - } - } - - stage('Trigger Test rollout') { - when { - branch 'release' - } - - steps { - script { - FAILED_STAGE = env.STAGE_NAME - - cloneGitopsRepo() - - setNewTestUserManagerVersion() - - pushTestGitopsRepo() - } - } - } - } +// stages { +// stage('Check Version') { +// steps { +// script { +// FAILED_STAGE = env.STAGE_NAME +// def rootVersion = getPomVersion('pom.xml') +// def userManagerVersion = getPomVersion('user-manager-server/pom.xml') +// def interfaceVersion = getPomVersion('user-manager-interface/pom.xml') +// +// if(env.BRANCH_NAME == 'release'){ +// if ( !(rootVersion ==~ RELEASE_REGEX) || !(userManagerVersion ==~ RELEASE_REGEX) || !(interfaceVersion ==~ RELEASE_REGEX)) { +// error("Keine Release Version für Branch ${env.BRANCH_NAME}.") +// } +// } else { +// if ( !(rootVersion ==~ SNAPSHOT_REGEX) || !(userManagerVersion ==~ SNAPSHOT_REGEX) || !(interfaceVersion ==~ SNAPSHOT_REGEX)) { +// error("Keine Snapshot Version für Branch ${env.BRANCH_NAME}.") +// } +// } +// +// if( !(rootVersion == userManagerVersion && rootVersion == interfaceVersion )){ +// error("Versionen sind nicht identisch") +// } +// } +// } +// } +// +// stage('Build UserManager GRPC') { +// steps { +// script { +// FAILED_STAGE=env.STAGE_NAME +// } +// +// configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { +// sh './mvnw -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 +// +// 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 +// } +// } +// } +// } +// +// stage('Build native container image') { +// steps { +// script { +// FAILED_STAGE=env.STAGE_NAME +// +// withCredentials([usernamePassword(credentialsId: 'jenkins-nexus-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 -Dquarkus.native.remote-container-build=true -Dmaven.wagon.http.retryHandler.count=3' +// } +// } +// } +// } +// } +// +// stage ('OWASP Dependency-Check Vulnerabilities') { +// steps { +// dependencyCheck additionalArguments: ''' +// -o "./" +// -s "./" +// -f "ALL" +// -d /dependency-check-data +// --suppression dependency-check-supressions.xml +// --disableKnownExploited +// --disableArchive +// --prettyPrint''', odcInstallation: 'dependency-check-owasp' +// +// dependencyCheckPublisher pattern: 'dependency-check-report.xml' +// } +// } +// +// stage('Sonar Checks') { +// when { +// branch 'master' +// } +// steps { +// script { +// FAILED_STAGE=env.STAGE_NAME +// +// configFileProvider([configFile(fileId: 'maven-settings', variable: 'MAVEN_SETTINGS')]) { +// dir('user-manager-server') { +// try { +// withSonarQubeEnv('sonarqube-ozg-sh'){ +// sh "./mvnw -s $MAVEN_SETTINGS package sonar:sonar -Dsonar.coverage.jacoco.xmlReportPaths=${env.WORKSPACE}/user-manager-server/target/jacoco-report/jacoco.xml" +// } +// } catch (Exception e) { +// unstable("SonarQube failed") +// } +// } +// } +// } +// } +// } +// +// stage('Tag and Push Docker image') { +// steps { +// script { +// FAILED_STAGE = env.STAGE_NAME +// IMAGE_TAG = generateImageTag() +// +// tagAndPushDockerImage(IMAGE_TAG) +// +// if (env.BRANCH_NAME == 'master') { +// tagAndPushDockerImage('snapshot-latest') +// } +// else if (env.BRANCH_NAME == 'release') { +// tagAndPushDockerImage('latest') +// } +// } +// } +// } +// +// stage('Test, build and deploy Helm Chart') { +// steps { +// script { +// FAILED_STAGE=env.STAGE_NAME +// HELM_CHART_VERSION = generateHelmChartVersion() +// +// dir('src/main/helm') { +// sh "helm lint -f ../../test/unit-values.yaml" +// +// sh "helm unittest -f '../../test/helm/*.yaml' -v '../../test/unit-values.yaml' ." +// +// sh "helm package --version=${HELM_CHART_VERSION} ." +// +// deployHelmChart(HELM_CHART_VERSION) +// } +// } +// } +// } +// +// stage('Rollout Dev UserManager') { +// when { +// branch 'master' +// } +// steps { +// script { +// FAILED_STAGE = env.STAGE_NAME +// +// cloneGitopsRepo() +// +// setNewDevUserManagerVersion() +// +// pushDevGitopsRepo() +// } +// } +// } +// +// stage('Trigger Test rollout') { +// when { +// branch 'release' +// } +// +// steps { +// script { +// FAILED_STAGE = env.STAGE_NAME +// +// cloneGitopsRepo() +// +// setNewTestUserManagerVersion() +// +// pushTestGitopsRepo() +// } +// } +// } +// } - post { - failure { - script { - if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'release') { - sendFailureMessage() - } - } - } - } +// post { +// failure { +// script { +// if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'release') { +// sendFailureMessage() +// } +// } +// } +// } } Void deployHelmChart(String helmChartVersion) { diff --git a/pom.xml b/pom.xml index 213686605e6f9cd59754a63f658e78df037066cb..88c2b91919109086f9bfb92ca17bb3df8f31c4cc 100644 --- a/pom.xml +++ b/pom.xml @@ -29,13 +29,13 @@ <modelVersion>4.0.0</modelVersion> <groupId>de.itvsh.kop</groupId> <artifactId>user-manager</artifactId> - <version>1.10.0-SNAPSHOT</version> + <version>1.10.0</version> <name>User Manager Parent</name> <packaging>pom</packaging> <properties> - <kop.license.version>1.6.0</kop.license.version> + <kop.license.version>1.8.0</kop.license.version> </properties> <modules> diff --git a/user-manager-interface/pom.xml b/user-manager-interface/pom.xml index 8f128767df7f2ae3fc9dc291d1a3c264e44bbfe7..aedd29770fa77e88cb42382edbd1045785ad391b 100644 --- a/user-manager-interface/pom.xml +++ b/user-manager-interface/pom.xml @@ -30,13 +30,13 @@ <parent> <groupId>de.itvsh.kop.common</groupId> <artifactId>kop-common-dependencies</artifactId> - <version>1.7.0</version> + <version>1.7.1</version> <relativePath/> </parent> <groupId>de.itvsh.kop.user</groupId> <artifactId>user-manager-interface</artifactId> - <version>1.10.0-SNAPSHOT</version> + <version>1.10.0</version> <name>UserManager Interface</name> <description>gRPC Interface for User Manager</description> diff --git a/user-manager-server/pom.xml b/user-manager-server/pom.xml index 8cad64e7cb5323516ac05c166f623409061b3162..3d50745ed079c752c33ef646e3e0d2e99a809f2e 100644 --- a/user-manager-server/pom.xml +++ b/user-manager-server/pom.xml @@ -30,13 +30,13 @@ <parent> <groupId>de.itvsh.kop.common</groupId> <artifactId>kop-common-dependencies</artifactId> - <version>1.7.0</version> + <version>1.7.1</version> <relativePath/> </parent> <groupId>de.itvsh.kop.user</groupId> <artifactId>user-manager-server</artifactId> - <version>1.10.0-SNAPSHOT</version> + <version>1.10.0</version> <name>User Manager</name> <properties>