Skip to content

Commit edbd6ff

Browse files
committed
Read CI properties from external file.
By reading a properties file from an external location, it is possible to inject a consistent set of properties from Spring Data Build. This also supports repeatable builds. Closes #2413.
1 parent 1b2a525 commit edbd6ff

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

Jenkinsfile

+9-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
def p = [:]
2+
node {
3+
p = readProperties file: 'ci/pipeline.properties'
4+
}
5+
16
pipeline {
27
agent none
38

@@ -31,7 +36,7 @@ pipeline {
3136
steps {
3237
script {
3338
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
34-
docker.image('adoptopenjdk/openjdk8:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
39+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) {
3540
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
3641
sh 'PROFILE=all-dbs ci/test.sh'
3742
sh "ci/clean.sh"
@@ -61,7 +66,7 @@ pipeline {
6166
steps {
6267
script {
6368
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
64-
docker.image('adoptopenjdk/openjdk11:latest').inside('-v $HOME:/tmp/jenkins-home') {
69+
docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.basic']) {
6570
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pjava11 clean dependency:list test -Dsort -Dbundlor.enabled=false -U -B'
6671
}
6772
}
@@ -80,7 +85,7 @@ pipeline {
8085
steps {
8186
script {
8287
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
83-
docker.image('openjdk:17-bullseye').inside('-v $HOME:/tmp/jenkins-home') {
88+
docker.image(p['docker.java.lts.image']).inside(p['docker.java.inside.basic']) {
8489
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pjava11 clean dependency:list test -Dsort -Dbundlor.enabled=false -U -B'
8590
}
8691
}
@@ -110,7 +115,7 @@ pipeline {
110115
steps {
111116
script {
112117
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
113-
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
118+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
114119
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
115120
'-Dartifactory.server=https://repo.spring.io ' +
116121
"-Dartifactory.username=${ARTIFACTORY_USR} " +

ci/pipeline.properties

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Docker container images
2+
docker.java.main.image=adoptopenjdk/openjdk8:latest
3+
docker.java.next.image=adoptopenjdk/openjdk11:latest
4+
docker.java.lts.image=openjdk:17-bullseye
5+
6+
# Docker settings
7+
docker.java.inside.basic=-v $HOME:/tmp/jenkins-home
8+
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
9+
10+

0 commit comments

Comments
 (0)