Skip to content
Snippets Groups Projects
Commit 727eba8a authored by OZGCloud's avatar OZGCloud
Browse files

release version 1.10.0

parent fc5d5059
No related branches found
No related tags found
No related merge requests found
......@@ -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()
}
}
}
}
post {
failure {
script {
if (env.BRANCH_NAME == 'master' || env.BRANCH_NAME == 'release') {
sendFailureMessage()
}
}
}
}
// 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()
// }
// }
// }
// }
}
Void deployHelmChart(String helmChartVersion) {
......
......@@ -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>
......
......@@ -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>
......
......@@ -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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment