@@ -8,6 +8,10 @@ pipeline {
88 }
99 }
1010
11+ parameters {
12+ booleanParam(name: 'SkipTests', defaultValue: false)
13+ }
14+
1115 options {
1216 buildDiscarder(logRotator(numToKeepStr: '3'))
1317 }
@@ -24,7 +28,6 @@ pipeline {
2428
2529 stage('prepare') {
2630 steps {
27-
2831 container('docker') {
2932 sh 'echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories'
3033 sh 'apk add minikube@testing'
@@ -39,25 +42,50 @@ pipeline {
3942 env.KUBERNETES_MASTER = "https://" + sh(returnStdout: true, script: "su user /bin/sh -c 'minikube ip'").trim() + ":8443"
4043 }
4144 }
45+ }
46+ }
4247
48+ stage('build') {
49+ environment {
50+ KUBECONFIG = "/tmp/kubeconfig"
4351 }
4452
53+ steps {
54+ container('containerproxy-build') {
55+ configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {
56+ sh 'mvn -Dmaven.repo.local=/tmp/m2 -B -s $MAVEN_SETTINGS_RSB -U clean package -DskipTests'
57+ }
58+ }
59+ }
4560 }
4661
47- stage('build and deploy to nexus') {
48-
62+ stage('test') {
4963 environment {
5064 KUBECONFIG = "/tmp/kubeconfig"
5165 }
5266
53- steps {
67+ when {
68+ equals expected: false, actual: params.SkipTests
69+ }
5470
71+ steps {
5572 container('containerproxy-build') {
56-
5773 configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {
74+ sh 'mvn -Dmaven.repo.local=/tmp/m2 -B -s $MAVEN_SETTINGS_RSB test'
75+ }
76+ }
77+ }
78+ }
5879
59- sh 'mvn -Dmaven.repo.local=/tmp/m2 -B -s $MAVEN_SETTINGS_RSB -U clean deploy'
80+ stage('deploy to Nexus') {
81+ environment {
82+ KUBECONFIG = "/tmp/kubeconfig"
83+ }
6084
85+ steps {
86+ container('containerproxy-build') {
87+ configFileProvider([configFile(fileId: 'maven-settings-rsb', variable: 'MAVEN_SETTINGS_RSB')]) {
88+ sh 'mvn -Dmaven.repo.local=/tmp/m2 -B -s $MAVEN_SETTINGS_RSB deploy -DskipTests'
6189 }
6290 }
6391 }
0 commit comments