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,32 +20,38 @@ pipeline {
14
20
stages {
15
21
stage(" Docker images" ) {
16
22
parallel {
17
- stage(' Publish JDK 8 + MongoDB 4.0' ) {
23
+ stage(' Publish JDK (main) + MongoDB 4.0' ) {
18
24
when {
19
- changeset " ci/openjdk8-mongodb-4.0/**"
25
+ anyOf {
26
+ changeset " ci/openjdk8-mongodb-4.0/**"
27
+ changeset " ci/pipeline.properties"
28
+ }
20
29
}
21
30
agent { label ' data' }
22
31
options { timeout(time : 30 , unit : ' MINUTES' ) }
23
32
24
33
steps {
25
34
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/" )
27
36
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
28
37
image. push()
29
38
}
30
39
}
31
40
}
32
41
}
33
- stage(' Publish JDK 8 + MongoDB 4.4' ) {
42
+ stage(' Publish JDK (main) + MongoDB 4.4' ) {
34
43
when {
35
- changeset " ci/openjdk8-mongodb-4.4/**"
44
+ anyOf {
45
+ changeset " ci/openjdk8-mongodb-4.4/**"
46
+ changeset " ci/pipeline.properties"
47
+ }
36
48
}
37
49
agent { label ' data' }
38
50
options { timeout(time : 30 , unit : ' MINUTES' ) }
39
51
40
52
steps {
41
53
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/" )
43
55
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
44
56
image. push()
45
57
}
@@ -49,13 +61,14 @@ pipeline {
49
61
stage(' Publish JDK 15 + MongoDB 4.4' ) {
50
62
when {
51
63
changeset " ci/openjdk15-mongodb-4.4/**"
64
+ changeset " ci/pipeline.properties"
52
65
}
53
66
agent { label ' data' }
54
67
options { timeout(time : 30 , unit : ' MINUTES' ) }
55
68
56
69
steps {
57
70
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/" )
59
72
docker. withRegistry(' ' , ' hub.docker.com-springbuildmaster' ) {
60
73
image. push()
61
74
}
@@ -65,7 +78,7 @@ pipeline {
65
78
}
66
79
}
67
80
68
- stage(" test: baseline (jdk8 )" ) {
81
+ stage(" test: baseline (main )" ) {
69
82
when {
70
83
anyOf {
71
84
branch ' 3.2.x'
@@ -82,7 +95,7 @@ pipeline {
82
95
steps {
83
96
script {
84
97
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 ' ] ) {
86
99
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
87
100
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
88
101
sh ' sleep 10'
@@ -103,7 +116,7 @@ pipeline {
103
116
}
104
117
}
105
118
parallel {
106
- stage(" test: mongodb 4.0 (jdk8 )" ) {
119
+ stage(" test: mongodb 4.4 (main )" ) {
107
120
agent {
108
121
label ' data'
109
122
}
@@ -114,31 +127,7 @@ pipeline {
114
127
steps {
115
128
script {
116
129
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' ]) {
142
131
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
143
132
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
144
133
sh ' sleep 10'
@@ -162,7 +151,8 @@ pipeline {
162
151
steps {
163
152
script {
164
153
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
166
156
sh ' mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
167
157
sh ' mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
168
158
sh ' sleep 10'
@@ -196,7 +186,7 @@ pipeline {
196
186
steps {
197
187
script {
198
188
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 ' ] ) {
200
190
sh ' MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
201
191
' -Dartifactory.server=https://repo.spring.io ' +
202
192
" -Dartifactory.username=${ ARTIFACTORY_USR} " +
0 commit comments