1+ def p = [:]
2+ node {
3+ checkout scm
4+ p = readProperties interpolate : true , file : ' ci/pipeline.properties'
5+ }
6+
17pipeline {
28 agent none
39
@@ -14,32 +20,38 @@ pipeline {
1420 stages {
1521 stage(" Docker images" ) {
1622 parallel {
17- stage(' Publish JDK 8 + MongoDB 4.0' ) {
23+ stage(' Publish JDK (main) + MongoDB 4.0' ) {
1824 when {
19- changeset " ci/openjdk8-mongodb-4.0/**"
25+ anyOf {
26+ changeset " ci/openjdk8-mongodb-4.0/**"
27+ changeset " ci/pipeline.properties"
28+ }
2029 }
2130 agent { label ' data' }
2231 options { timeout(time : 30 , unit : ' MINUTES' ) }
2332
2433 steps {
2534 script {
26- def image = docker. build(" springci/spring-data-openjdk8- with-mongodb-4.0.23 " , " ci/openjdk8-mongodb-4.0/" )
35+ def image = docker. build(" springci/spring-data-with-mongodb-4.0: ${ p['java.main.tag'] } " , " --build-arg BASE= ${ p['docker.java.main.image'] } --build-arg MONGODB= ${ p['docker.mongodb.4.0.version'] } ci/openjdk8-mongodb-4.0/" )
2736 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
2837 image. push()
2938 }
3039 }
3140 }
3241 }
33- stage(' Publish JDK 8 + MongoDB 4.4' ) {
42+ stage(' Publish JDK (main) + MongoDB 4.4' ) {
3443 when {
35- changeset " ci/openjdk8-mongodb-4.4/**"
44+ anyOf {
45+ changeset " ci/openjdk8-mongodb-4.4/**"
46+ changeset " ci/pipeline.properties"
47+ }
3648 }
3749 agent { label ' data' }
3850 options { timeout(time : 30 , unit : ' MINUTES' ) }
3951
4052 steps {
4153 script {
42- def image = docker. build(" springci/spring-data-openjdk8- with-mongodb-4.4.4 " , " ci/openjdk8-mongodb-4.4/" )
54+ def image = docker. build(" springci/spring-data-with-mongodb-4.4: ${ p['java.main.tag'] } " , " --build-arg BASE= ${ p['docker.java.main.image'] } --build-arg MONGODB= ${ p['docker.mongodb.4.4.version'] } ci/openjdk8-mongodb-4.4/" )
4355 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
4456 image. push()
4557 }
@@ -49,13 +61,14 @@ pipeline {
4961 stage(' Publish JDK 15 + MongoDB 4.4' ) {
5062 when {
5163 changeset " ci/openjdk15-mongodb-4.4/**"
64+ changeset " ci/pipeline.properties"
5265 }
5366 agent { label ' data' }
5467 options { timeout(time : 30 , unit : ' MINUTES' ) }
5568
5669 steps {
5770 script {
58- def image = docker. build(" springci/spring-data-openjdk15- with-mongodb-4.4.4 " , " ci/openjdk15-mongodb-4.4/" )
71+ def image = docker. build(" springci/spring-data-with-mongodb-4.4: ${ p['java.15.tag'] } " , " --build-arg BASE= ${ p['docker.java.15.image'] } --build-arg MONGODB= ${ p['docker.mongodb.4.4.version'] } ci/openjdk15-mongodb-4.4/" )
5972 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
6073 image. push()
6174 }
@@ -65,7 +78,7 @@ pipeline {
6578 }
6679 }
6780
68- stage(" test: baseline (jdk8 )" ) {
81+ stage(" test: baseline (main )" ) {
6982 when {
7083 anyOf {
7184 branch ' 3.2.x'
@@ -82,7 +95,7 @@ pipeline {
8295 steps {
8396 script {
8497 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
85- docker. image(' springci/spring-data-openjdk8- with-mongodb-4.0.23:latest ' ). inside(' -v $HOME:/tmp/jenkins-home ' ) {
98+ docker. image(" springci/spring-data-with-mongodb-4.0: ${ p['java.main.tag'] } " ). inside(p[ ' docker.java.inside.basic ' ] ) {
8699 sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
87100 sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
88101 sh ' sleep 10'
@@ -103,7 +116,7 @@ pipeline {
103116 }
104117 }
105118 parallel {
106- stage(" test: mongodb 4.0 (jdk8 )" ) {
119+ stage(" test: mongodb 4.4 (main )" ) {
107120 agent {
108121 label ' data'
109122 }
@@ -114,31 +127,7 @@ pipeline {
114127 steps {
115128 script {
116129 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
117- docker. image(' springci/spring-data-openjdk8-with-mongodb-4.0.23:latest' ). inside(' -v $HOME:/tmp/jenkins-home' ) {
118- sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
119- sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
120- sh ' sleep 10'
121- sh ' mongo --eval "rs.initiate({_id: \' rs0\' , members:[{_id: 0, host: \' 127.0.0.1:27017\' }]});"'
122- sh ' sleep 15'
123- sh ' MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Duser.name=jenkins -Dsort -U -B'
124- }
125- }
126- }
127- }
128- }
129-
130- stage(" test: mongodb 4.4 (jdk8)" ) {
131- agent {
132- label ' data'
133- }
134- options { timeout(time : 30 , unit : ' MINUTES' ) }
135- environment {
136- ARTIFACTORY = credentials(' 02bd1690-b54f-4c9f-819d-a77cb7a9822c' )
137- }
138- steps {
139- script {
140- docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
141- docker. image(' springci/spring-data-openjdk8-with-mongodb-4.4.4:latest' ). inside(' -v $HOME:/tmp/jenkins-home' ) {
130+ docker. image(" springci/spring-data-with-mongodb-4.4:${ p['java.main.tag']} " ). inside(p[' docker.java.inside.basic' ]) {
142131 sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
143132 sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
144133 sh ' sleep 10'
@@ -162,7 +151,8 @@ pipeline {
162151 steps {
163152 script {
164153 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
165- docker. image(' springci/spring-data-openjdk15-with-mongodb-4.4.4:latest' ). inside(' -v $HOME:/tmp/jenkins-home' ) {
154+ docker. image(" springci/spring-data-with-mongodb-4.4:${ p['java.15.tag']} " ). inside(p[' docker.java.inside.basic' ]) {
155+ alwaysPull true
166156 sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
167157 sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
168158 sh ' sleep 10'
@@ -196,7 +186,7 @@ pipeline {
196186 steps {
197187 script {
198188 docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
199- docker. image(' adoptopenjdk/openjdk8:latest ' ). inside(' -v $HOME:/tmp/jenkins-home ' ) {
189+ docker. image(p[ ' docker.java.main.image ' ] ). inside(p[ ' docker.java.inside.basic ' ] ) {
200190 sh ' MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
201191 ' -Dartifactory.server=https://repo.spring.io ' +
202192 " -Dartifactory.username=${ ARTIFACTORY_USR} " +
0 commit comments