Skip to content

Commit 2bf268f

Browse files
committed
Externalize build properties.
Closes #2103.
1 parent 4eac352 commit 2bf268f

File tree

3 files changed

+53
-112
lines changed

3 files changed

+53
-112
lines changed

CI.adoc

Lines changed: 0 additions & 43 deletions
This file was deleted.

Jenkinsfile

Lines changed: 24 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
def p = [:]
2+
node {
3+
checkout scm
4+
p = readProperties interpolate: true, file: 'ci/pipeline.properties'
5+
}
6+
17
pipeline {
28
agent none
39

@@ -12,7 +18,7 @@ pipeline {
1218
}
1319

1420
stages {
15-
stage("test: baseline (jdk8)") {
21+
stage("test: baseline (main)") {
1622
when {
1723
anyOf {
1824
branch '3.5.x'
@@ -24,12 +30,12 @@ pipeline {
2430
}
2531
options { timeout(time: 30, unit: 'MINUTES') }
2632
environment {
27-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
33+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
2834
}
2935
steps {
3036
script {
31-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
32-
docker.image('springci/spring-data-openjdk8-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') {
37+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
38+
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
3339
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
3440
sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
3541
sh 'sleep 10'
@@ -50,41 +56,18 @@ pipeline {
5056
}
5157
}
5258
parallel {
53-
stage("test: baseline (jdk11)") {
54-
agent {
55-
label 'data'
56-
}
57-
options { timeout(time: 30, unit: 'MINUTES') }
58-
environment {
59-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
60-
}
61-
steps {
62-
script {
63-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
64-
docker.image('springci/spring-data-openjdk11-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') {
65-
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
66-
sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
67-
sh 'sleep 10'
68-
sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
69-
sh 'sleep 15'
70-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml clean dependency:list test -Dsort -U -B -Pit,java11'
71-
}
72-
}
73-
}
74-
}
75-
}
76-
stage("test: baseline (jdk15)") {
59+
stage("test: baseline (jdk15") {
7760
agent {
7861
label 'data'
7962
}
8063
options { timeout(time: 30, unit: 'MINUTES') }
8164
environment {
82-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
65+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
8366
}
8467
steps {
8568
script {
86-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
87-
docker.image('springci/spring-data-openjdk15-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') {
69+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
70+
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.15.tag']}").inside(p['docker.java.inside.basic']) {
8871
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
8972
sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
9073
sh 'sleep 10'
@@ -96,18 +79,18 @@ pipeline {
9679
}
9780
}
9881
}
99-
stage("test: spring53-next (jdk8)") {
82+
stage("test: spring53-next (main)") {
10083
agent {
10184
label 'data'
10285
}
10386
options { timeout(time: 30, unit: 'MINUTES') }
10487
environment {
105-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
88+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
10689
}
10790
steps {
10891
script {
109-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
110-
docker.image('springci/spring-data-openjdk8-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') {
92+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
93+
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
11194
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
11295
sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
11396
sh 'sleep 10'
@@ -125,12 +108,12 @@ pipeline {
125108
}
126109
options { timeout(time: 30, unit: 'MINUTES') }
127110
environment {
128-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
111+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
129112
}
130113
steps {
131114
script {
132-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
133-
docker.image('springci/spring-data-openjdk15-with-mongodb-4.2.0:latest').inside('-v $HOME:/tmp/jenkins-home') {
115+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
116+
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.15.tag']}").inside(p['docker.java.inside.basic']) {
134117
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
135118
sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
136119
sh 'sleep 10'
@@ -158,13 +141,13 @@ pipeline {
158141
options { timeout(time: 20, unit: 'MINUTES') }
159142

160143
environment {
161-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
144+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
162145
}
163146

164147
steps {
165148
script {
166-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
167-
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
149+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
150+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
168151
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
169152
'-Dartifactory.server=https://repo.spring.io ' +
170153
"-Dartifactory.username=${ARTIFACTORY_USR} " +
@@ -178,34 +161,6 @@ pipeline {
178161
}
179162
}
180163
}
181-
stage('Publish documentation') {
182-
when {
183-
branch '3.5.x'
184-
}
185-
agent {
186-
label 'data'
187-
}
188-
options { timeout(time: 20, unit: 'MINUTES') }
189-
190-
environment {
191-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
192-
}
193-
194-
steps {
195-
script {
196-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
197-
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
198-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,distribute ' +
199-
'-Dartifactory.server=https://repo.spring.io ' +
200-
"-Dartifactory.username=${ARTIFACTORY_USR} " +
201-
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
202-
"-Dartifactory.distribution-repository=temp-private-local " +
203-
'-Dmaven.test.skip=true clean deploy -U -B'
204-
}
205-
}
206-
}
207-
}
208-
}
209164
}
210165

211166
post {

ci/pipeline.properties

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Java versions
2+
java.main.tag=8u312-b07-jdk
3+
java.11.tag=11.0.13_8-jdk
4+
java.15.tag=15.0.2_7-jdk-hotspot
5+
6+
# Docker container images - standard
7+
docker.java.main.image=eclipse-temurin:${java.main.tag}
8+
docker.java.11.image=eclipse-temurin:${java.11.tag}
9+
docker.java.15.image=adoptopenjdk:${java.15.tag}
10+
11+
# Supported versions of MongoDB
12+
docker.mongodb.4.0.version=4.0.23
13+
docker.mongodb.4.4.version=4.4.4
14+
docker.mongodb.5.0.version=5.0.3
15+
16+
# Supported versions of Redis
17+
docker.redis.6.version=6.2.4
18+
19+
# Supported versions of Cassandra
20+
docker.cassandra.3.version=3.11.10
21+
22+
# Docker environment settings
23+
docker.java.inside.basic=-v $HOME:/tmp/jenkins-home
24+
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
25+
26+
# Credentials
27+
docker.registry=
28+
docker.credentials=hub.docker.com-springbuildmaster
29+
artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c

0 commit comments

Comments
 (0)