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

start development 1.11.0

parent 727eba8a
Branches
Tags
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,7 +29,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>de.itvsh.kop</groupId>
<artifactId>user-manager</artifactId>
<version>1.10.0</version>
<version>1.11.0-SNAPSHOT</version>
<name>User Manager Parent</name>
<packaging>pom</packaging>
......
......@@ -36,7 +36,7 @@
<groupId>de.itvsh.kop.user</groupId>
<artifactId>user-manager-interface</artifactId>
<version>1.10.0</version>
<version>1.11.0-SNAPSHOT</version>
<name>UserManager Interface</name>
<description>gRPC Interface for User Manager</description>
......
......@@ -36,7 +36,7 @@
<groupId>de.itvsh.kop.user</groupId>
<artifactId>user-manager-server</artifactId>
<version>1.10.0</version>
<version>1.11.0-SNAPSHOT</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