Skip to content

Commit e6c8ee0

Browse files
committed
Polishing.
Extract docker credentials into properties file. Use tabs for indentation instead of spaces. See #3949
1 parent e63013d commit e6c8ee0

File tree

2 files changed

+51
-53
lines changed

2 files changed

+51
-53
lines changed

Jenkinsfile

+46-47
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
def p = [:]
22
node {
3-
checkout scm
4-
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
3+
checkout scm
4+
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
55
}
66

77
pipeline {
@@ -20,39 +20,39 @@ pipeline {
2020
stages {
2121
stage("Docker images") {
2222
parallel {
23-
stage('Publish JDK (main) + MongoDB 5.0') {
23+
stage('Publish JDK (main) + MongoDB 5.0') {
2424
when {
25-
anyOf {
26-
changeset "ci/openjdk17-mongodb-5.0/**"
27-
changeset "ci/pipeline.properties"
28-
}
25+
anyOf {
26+
changeset "ci/openjdk17-mongodb-5.0/**"
27+
changeset "ci/pipeline.properties"
28+
}
2929
}
3030
agent { label 'data' }
3131
options { timeout(time: 30, unit: 'MINUTES') }
3232

3333
steps {
3434
script {
35-
def image = docker.build("springci/spring-data-with-mongodb-5.0:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg MONGODB=${p['docker.mongodb.5.0.version']} ci/openjdk8-mongodb-5.0/")
36-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
37-
image.push()
38-
}
39-
}
40-
}
41-
}
35+
def image = docker.build("springci/spring-data-with-mongodb-5.0:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg MONGODB=${p['docker.mongodb.5.0.version']} ci/openjdk17-mongodb-5.0/")
36+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
37+
image.push()
38+
}
39+
}
40+
}
41+
}
4242
stage('Publish JDK (main) + MongoDB 4.4') {
4343
when {
44-
anyOf {
45-
changeset "ci/openjdk17-mongodb-4.4/**"
46-
changeset "ci/pipeline.properties"
47-
}
44+
anyOf {
45+
changeset "ci/openjdk17-mongodb-4.4/**"
46+
changeset "ci/pipeline.properties"
47+
}
4848
}
4949
agent { label 'data' }
5050
options { timeout(time: 30, unit: 'MINUTES') }
5151

5252
steps {
5353
script {
54-
def image = docker.build("springci/spring-data-with-mongodb-4.4:${p['java.lts.tag']}", "--build-arg BASE=${p['docker.java.lts.image']} --build-arg MONGODB=${p['docker.mongodb.4.4.version']} ci/openjdk16-mongodb-4.4/")
55-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
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/openjdk17-mongodb-4.4/")
55+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
5656
image.push()
5757
}
5858
}
@@ -78,7 +78,7 @@ pipeline {
7878
}
7979
steps {
8080
script {
81-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
81+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
8282
docker.image("springci/spring-data-with-mongodb-4.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
8383
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
8484
sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
@@ -111,7 +111,7 @@ pipeline {
111111
}
112112
steps {
113113
script {
114-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
114+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
115115
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
116116
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
117117
sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
@@ -126,28 +126,28 @@ pipeline {
126126
}
127127

128128
stage("test: mongodb 5.0 (main)") {
129-
agent {
130-
label 'data'
131-
}
132-
options { timeout(time: 30, unit: 'MINUTES') }
133-
environment {
134-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
135-
}
136-
steps {
137-
script {
138-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
139-
docker.image("springci/spring-data-with-mongodb-5.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
140-
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
141-
sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
142-
sh 'sleep 10'
143-
sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
144-
sh 'sleep 15'
145-
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'
146-
}
147-
}
148-
}
149-
}
150-
}
129+
agent {
130+
label 'data'
131+
}
132+
options { timeout(time: 30, unit: 'MINUTES') }
133+
environment {
134+
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
135+
}
136+
steps {
137+
script {
138+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
139+
docker.image("springci/spring-data-with-mongodb-5.0:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
140+
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
141+
sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
142+
sh 'sleep 10'
143+
sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
144+
sh 'sleep 15'
145+
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'
146+
}
147+
}
148+
}
149+
}
150+
}
151151

152152
stage("test: baseline (LTS)") {
153153
agent {
@@ -159,9 +159,8 @@ pipeline {
159159
}
160160
steps {
161161
script {
162-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
162+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
163163
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.lts.tag']}").inside(p['docker.java.inside.basic']) {
164-
alwaysPull true
165164
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
166165
sh 'mongod --setParameter transactionLifetimeLimitSeconds=90 --setParameter maxTransactionLockRequestTimeoutMillis=10000 --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
167166
sh 'sleep 10'
@@ -195,7 +194,7 @@ pipeline {
195194

196195
steps {
197196
script {
198-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
197+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
199198
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
200199
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -v'
201200
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +

ci/pipeline.properties

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
11
# Java versions
22
java.main.tag=17.0.1_12-jdk
3-
java.next.tag=17.0.1_12-jdk
4-
java.lts.tag=17.0.1_12-jdk
53

64
# Docker container images - standard
75
docker.java.main.image=eclipse-temurin:${java.main.tag}
8-
docker.java.next.image=eclipse-temurin:${java.next.tag}
9-
docker.java.lts.image=eclipse-temurin:${java.lts.tag}
106

117
# Supported versions of MongoDB
12-
docker.mongodb.4.0.version=4.0.23
138
docker.mongodb.4.4.version=4.4.4
149
docker.mongodb.5.0.version=5.0.3
1510

1611
# Supported versions of Redis
1712
docker.redis.6.version=6.2.4
1813

1914
# Supported versions of Cassandra
20-
docker.cassandra.3.version=3.11.10
15+
docker.cassandra.3.version=3.11.11
2116

2217
# Docker environment settings
2318
docker.java.inside.basic=-v $HOME:/tmp/jenkins-home
2419
docker.java.inside.docker=-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home
20+
21+
# Credentials
22+
docker.registry=
23+
docker.credentials=hub.docker.com-springbuildmaster

0 commit comments

Comments
 (0)