Skip to content

Commit 50511d1

Browse files
committed
Externalize build properties.
Closes #2103.
1 parent a839108 commit 50511d1

File tree

4 files changed

+37
-88
lines changed

4 files changed

+37
-88
lines changed

CI.adoc

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

Jenkinsfile

Lines changed: 13 additions & 28 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

@@ -13,28 +19,7 @@ pipeline {
1319
}
1420

1521
stages {
16-
stage("Docker images") {
17-
parallel {
18-
stage('Publish JDK 17/ + MongoDB 4.4') {
19-
when {
20-
changeset "ci/openjdk17-mongodb-4.4/**"
21-
}
22-
agent { label 'data' }
23-
options { timeout(time: 30, unit: 'MINUTES') }
24-
25-
steps {
26-
script {
27-
def image = docker.build("springci/spring-data-rest-openjdk17-with-mongodb-4.4", "ci/openjdk17-mongodb-4.4/")
28-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
29-
image.push()
30-
}
31-
}
32-
}
33-
}
34-
}
35-
}
36-
37-
stage("test: baseline (JDK 17)") {
22+
stage("test: baseline (main)") {
3823
when {
3924
beforeAgent(true)
4025
anyOf {
@@ -47,12 +32,12 @@ pipeline {
4732
}
4833
options { timeout(time: 30, unit: 'MINUTES') }
4934
environment {
50-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
35+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
5136
}
5237
steps {
5338
script {
54-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
55-
docker.image('springci/spring-data-rest-openjdk17-with-mongodb-4.4:latest').inside('-v $HOME:/tmp/jenkins-home') {
39+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
40+
docker.image("springci/spring-data-with-mongodb-4.4:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) {
5641
sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
5742
sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
5843
sh 'sleep 10'
@@ -79,13 +64,13 @@ pipeline {
7964
options { timeout(time: 20, unit: 'MINUTES') }
8065

8166
environment {
82-
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
67+
ARTIFACTORY = credentials("${p['artifactory.credentials']}")
8368
}
8469

8570
steps {
8671
script {
87-
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
88-
docker.image('openjdk:17').inside('-v $HOME:/tmp/jenkins-home') {
72+
docker.withRegistry(p['docker.registry'], p['docker.credentials']) {
73+
docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) {
8974
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' +
9075
'-Dartifactory.server=https://repo.spring.io ' +
9176
"-Dartifactory.username=${ARTIFACTORY_USR} " +

ci/openjdk17-mongodb-4.4/Dockerfile

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

ci/pipeline.properties

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Java versions
2+
java.main.tag=17.0.2_8-jdk
3+
4+
# Docker container images - standard
5+
docker.java.main.image=eclipse-temurin:${java.main.tag}
6+
7+
# Supported versions of MongoDB
8+
docker.mongodb.4.4.version=4.4.4
9+
docker.mongodb.5.0.version=5.0.3
10+
11+
# Supported versions of Redis
12+
docker.redis.6.version=6.2.4
13+
14+
# Supported versions of Cassandra
15+
docker.cassandra.3.version=3.11.11
16+
17+
# Docker environment settings
18+
docker.java.inside.basic=-v $HOME:/tmp/jenkins-home
19+
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
24+
artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c

0 commit comments

Comments
 (0)