1
+ def p = [:]
2
+ node {
3
+ checkout scm
4
+ p = readProperties interpolate : true , file : ' ci/pipeline.properties'
5
+ }
6
+
1
7
pipeline {
2
8
agent none
3
9
@@ -14,55 +20,55 @@ pipeline {
14
20
stages {
15
21
stage(" Docker images" ) {
16
22
parallel {
17
- stage(' Publish JDK 8 + MongoDB 5 .0' ) {
23
+ stage(' Publish JDK (main) + MongoDB 4 .0' ) {
18
24
when {
19
- changeset " ci/openjdk8-mongodb-5 .0/**"
25
+ changeset " ci/openjdk8-mongodb-4 .0/**"
20
26
}
21
27
agent { label ' data' }
22
28
options { timeout(time : 30 , unit : ' MINUTES' ) }
23
29
24
30
steps {
25
31
script {
26
- def image = docker. build(" springci/spring-data-openjdk8-with-mongodb-5.0.0" , " ci/openjdk8-mongodb-5.0/" )
27
- docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
28
- image. push()
29
- }
32
+ def image = docker. build(" springci/spring-data-with-mongodb-4.0:jdk8" , " --build-arg BASE=${ p['docker.java.main.image']} --build-arg MONGODB=${ p['docker.mongodb.4.0.version']} ci/openjdk8-mongodb-4.0/" )
33
+ docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
34
+ image. push()
30
35
}
31
36
}
32
37
}
33
- stage(' Publish JDK 8 + MongoDB 4.0' ) {
38
+ }
39
+ stage(' Publish JDK (main) + MongoDB 4.4' ) {
34
40
when {
35
- changeset " ci/openjdk8-mongodb-4.0 /**"
41
+ changeset " ci/openjdk8-mongodb-4.4 /**"
36
42
}
37
43
agent { label ' data' }
38
44
options { timeout(time : 30 , unit : ' MINUTES' ) }
39
45
40
46
steps {
41
47
script {
42
- def image = docker. build(" springci/spring-data-openjdk8- with-mongodb-4.0.23 " , " ci/openjdk8-mongodb-4.0 /" )
48
+ def image = docker. build(" springci/spring-data-with-mongodb-4.4:jdk8 " , " --build-arg BASE= ${ p['docker.java.main.image'] } --build-arg MONGODB= ${ p['docker.mongodb.4.4.version'] } ci/openjdk8-mongodb-4.4 /" )
43
49
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
44
50
image. push()
45
51
}
46
52
}
47
53
}
48
54
}
49
- stage(' Publish JDK 8 + MongoDB 4.4 ' ) {
55
+ stage(' Publish JDK (main) + MongoDB 5.0 ' ) {
50
56
when {
51
- changeset " ci/openjdk8-mongodb-4.4 /**"
57
+ changeset " ci/openjdk8-mongodb-5.0 /**"
52
58
}
53
59
agent { label ' data' }
54
60
options { timeout(time : 30 , unit : ' MINUTES' ) }
55
61
56
62
steps {
57
63
script {
58
- def image = docker. build(" springci/spring-data-openjdk8- with-mongodb-4.4.4 " , " ci/openjdk8-mongodb-4.4 /" )
59
- docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
60
- image. push()
61
- }
62
- }
63
- }
64
- }
65
- stage(' Publish JDK 16 + MongoDB 4.4' ) {
64
+ def image = docker. build(" springci/spring-data-with-mongodb-5.0:jdk8 " , " --build-arg BASE= ${ p['docker.java.main.image'] } --build-arg MONGODB= ${ p['docker.mongodb.5.0.version'] } ci/openjdk8-mongodb-5.0 /" )
65
+ docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
66
+ image. push()
67
+ }
68
+ }
69
+ }
70
+ }
71
+ stage(' Publish JDK (LTS) + MongoDB 4.4' ) {
66
72
when {
67
73
changeset " ci/openjdk16-mongodb-4.4/**"
68
74
}
@@ -71,7 +77,7 @@ pipeline {
71
77
72
78
steps {
73
79
script {
74
- def image = docker. build(" springci/spring-data-openjdk16- with-mongodb-4.4.4 " , " ci/openjdk16-mongodb-4.4/" )
80
+ def image = docker. build(" springci/spring-data-with-mongodb-4.4:jdk17 " , " --build-arg BASE= ${ p['docker.java.lts.image'] } --build-arg MONGODB= ${ p['docker.mongodb.4.4.version'] } ci/openjdk16-mongodb-4.4/" )
75
81
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
76
82
image. push()
77
83
}
@@ -81,7 +87,7 @@ pipeline {
81
87
}
82
88
}
83
89
84
- stage(" test: baseline (jdk8 )" ) {
90
+ stage(" test: baseline (main )" ) {
85
91
when {
86
92
beforeAgent(true )
87
93
anyOf {
@@ -99,7 +105,7 @@ pipeline {
99
105
steps {
100
106
script {
101
107
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
102
- docker. image(' springci/spring-data-openjdk8- with-mongodb-4.0.23:latest ' ). inside(' -v $HOME:/tmp/jenkins-home ' ) {
108
+ docker. image(" springci/spring-data-with-mongodb-4.0:jdk8 " ). inside(p[ ' docker.java.inside.basic ' ] ) {
103
109
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
104
110
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
105
111
sh ' sleep 10'
@@ -121,31 +127,7 @@ pipeline {
121
127
}
122
128
}
123
129
parallel {
124
- stage(" test: mongodb 4.0 (jdk8)" ) {
125
- agent {
126
- label ' data'
127
- }
128
- options { timeout(time : 30 , unit : ' MINUTES' ) }
129
- environment {
130
- ARTIFACTORY = credentials(' 02bd1690-b54f-4c9f-819d-a77cb7a9822c' )
131
- }
132
- steps {
133
- script {
134
- docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
135
- docker. image(' springci/spring-data-openjdk8-with-mongodb-4.0.23:latest' ). inside(' -v $HOME:/tmp/jenkins-home' ) {
136
- sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
137
- sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
138
- sh ' sleep 10'
139
- sh ' mongo --eval "rs.initiate({_id: \' rs0\' , members:[{_id: 0, host: \' 127.0.0.1:27017\' }]});"'
140
- sh ' sleep 15'
141
- 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'
142
- }
143
- }
144
- }
145
- }
146
- }
147
-
148
- stage(" test: mongodb 4.4 (jdk8)" ) {
130
+ stage(" test: mongodb 4.4 (main)" ) {
149
131
agent {
150
132
label ' data'
151
133
}
@@ -156,7 +138,7 @@ pipeline {
156
138
steps {
157
139
script {
158
140
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
159
- docker. image(' springci/spring-data-openjdk8- with-mongodb-4.4.4:latest ' ). inside(' -v $HOME:/tmp/jenkins-home ' ) {
141
+ docker. image(" springci/spring-data-with-mongodb-4.4:jdk8 " ). inside(p[ ' docker.java.inside.basic ' ] ) {
160
142
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
161
143
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
162
144
sh ' sleep 10'
@@ -169,7 +151,7 @@ pipeline {
169
151
}
170
152
}
171
153
172
- stage(" test: mongodb 5.0 (jdk8 )" ) {
154
+ stage(" test: mongodb 5.0 (main )" ) {
173
155
agent {
174
156
label ' data'
175
157
}
@@ -180,7 +162,7 @@ pipeline {
180
162
steps {
181
163
script {
182
164
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
183
- docker. image(' springci/spring-data-openjdk8- with-mongodb-5.0.0:latest ' ). inside(' -v $HOME:/tmp/jenkins-home ' ) {
165
+ docker. image(" springci/spring-data-with-mongodb-5.0:jdk8 " ). inside(p[ ' docker.java.inside.basic ' ] ) {
184
166
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
185
167
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
186
168
sh ' sleep 10'
@@ -193,7 +175,7 @@ pipeline {
193
175
}
194
176
}
195
177
196
- stage(" test: baseline (jdk16 )" ) {
178
+ stage(" test: baseline (LTS )" ) {
197
179
agent {
198
180
label ' data'
199
181
}
@@ -204,7 +186,8 @@ pipeline {
204
186
steps {
205
187
script {
206
188
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
207
- docker. image(' springci/spring-data-openjdk16-with-mongodb-4.4.4:latest' ). inside(' -v $HOME:/tmp/jenkins-home' ) {
189
+ docker. image(" springci/spring-data-with-mongodb-4.4:jdk17" ). inside(p[' docker.java.inside.basic' ]) {
190
+ alwaysPull true
208
191
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
209
192
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
210
193
sh ' sleep 10'
@@ -239,7 +222,7 @@ pipeline {
239
222
steps {
240
223
script {
241
224
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
242
- docker. image(' adoptopenjdk/openjdk8:latest ' ). inside(' -v $HOME:/tmp/jenkins-home ' ) {
225
+ docker. image(p[ ' docker.java.main.image ' ] ). inside(p[ ' docker.java.inside.basic ' ] ) {
243
226
sh ' MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -v'
244
227
sh ' MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
245
228
' -Dartifactory.server=https://repo.spring.io ' +
0 commit comments