From 9e5b2ec985a37a422578171df44846329cfb6f75 Mon Sep 17 00:00:00 2001 From: "Greg L. Turnquist" Date: Fri, 28 Jan 2022 13:33:33 -0600 Subject: [PATCH] Externalize build properties. See #569. --- Jenkinsfile | 20 +++++++++++++------- ci/pipeline.properties | 24 ++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 7 deletions(-) create mode 100644 ci/pipeline.properties diff --git a/Jenkinsfile b/Jenkinsfile index c04338e4..470a5ae4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,3 +1,9 @@ +def p = [:] +node { + checkout scm + p = readProperties interpolate: true, file: 'ci/pipeline.properties' +} + pipeline { agent none @@ -12,7 +18,7 @@ pipeline { } stages { - stage("test: baseline (jdk8)") { + stage("test: baseline (main)") { when { beforeAgent(true) anyOf { @@ -30,7 +36,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) { sh 'rm -Rf `find . -name "BACKUPDEFAULT*"`' sh 'rm -Rf `find . -name "ConfigDiskDir*"`' sh 'rm -Rf `find . -name "locator*" | grep -v "src"`' @@ -53,7 +59,7 @@ pipeline { } } parallel { - stage("test: baseline (jdk11)") { + stage("test: baseline (next)") { agent { label 'data' } @@ -64,7 +70,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('adoptopenjdk/openjdk11:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.basic']) { sh 'rm -Rf `find . -name "BACKUPDEFAULT*"`' sh 'rm -Rf `find . -name "ConfigDiskDir*"`' sh 'rm -Rf `find . -name "locator*" | grep -v "src"`' @@ -78,7 +84,7 @@ pipeline { } } - stage("test: baseline (jdk17)") { + stage("test: baseline (LTS)") { agent { label 'data' } @@ -89,7 +95,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('openjdk:17-bullseye').inside('-v $HOME:/tmp/jenkins-home') { + docker.image(p['docker.java.lts.image']).inside(p['docker.java.inside.basic']) { sh 'rm -Rf `find . -name "BACKUPDEFAULT*"`' sh 'rm -Rf `find . -name "ConfigDiskDir*"`' sh 'rm -Rf `find . -name "locator*" | grep -v "src"`' @@ -125,7 +131,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) { sh 'rm -Rf `find . -name "BACKUPDEFAULT*"`' sh 'rm -Rf `find . -name "ConfigDiskDir*"`' sh 'rm -Rf `find . -name "locator*" | grep -v "src"`' diff --git a/ci/pipeline.properties b/ci/pipeline.properties new file mode 100644 index 00000000..5d91102d --- /dev/null +++ b/ci/pipeline.properties @@ -0,0 +1,24 @@ +# Java versions +java.main.tag=8u312-b07-jdk +java.next.tag=11.0.13_8-jdk +java.lts.tag=17.0.1_12-jdk + +# Docker container images - standard +docker.java.main.image=eclipse-temurin:${java.main.tag} +docker.java.next.image=eclipse-temurin:${java.next.tag} +docker.java.lts.image=eclipse-temurin:${java.lts.tag} + +# Supported versions of MongoDB +docker.mongodb.4.0.version=4.0.23 +docker.mongodb.4.4.version=4.4.4 +docker.mongodb.5.0.version=5.0.3 + +# Supported versions of Redis +docker.redis.6.version=6.2.4 + +# Supported versions of Cassandra +docker.cassandra.3.version=3.11.10 + +# Docker environment settings +docker.java.inside.basic=-v $HOME:/tmp/jenkins-home +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