From 4ea00e05fa288f12f1b4205022dbb03c9fd1d489 Mon Sep 17 00:00:00 2001 From: John Blum Date: Thu, 23 Sep 2021 14:46:03 -0700 Subject: [PATCH] Update Jenkinsfile to build with a Java 17 baseline. Closes #2173. --- Jenkinsfile | 96 +++++++------------ .../Dockerfile | 2 +- 2 files changed, 38 insertions(+), 60 deletions(-) rename ci/{openjdk8-redis-6.2 => openjdk17-redis6.2}/Dockerfile (89%) diff --git a/Jenkinsfile b/Jenkinsfile index f8ca4ffe0..c1e4147b6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,10 +14,10 @@ pipeline { stages { stage("Docker images") { parallel { - stage('Publish OpenJDK 8 + Redis 6.2 docker image') { + stage('Publish JDK 17 + Redis 6.2 Docker image') { when { anyOf { - changeset "ci/openjdk8-redis-6.2/**" + changeset "ci/openjdk17-redis6.2/**" changeset "Makefile" } } @@ -26,26 +26,7 @@ pipeline { steps { script { - def image = docker.build("springci/spring-data-openjdk8-with-redis-6.2", "-f ci/openjdk8-redis-6.2/Dockerfile .") - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - image.push() - } - } - } - } - stage('Publish OpenJDK 17 + Redis 6.2 docker image') { - when { - anyOf { - changeset "ci/openjdk16-redis-6.2/**" - changeset "Makefile" - } - } - agent { label 'data' } - options { timeout(time: 20, unit: 'MINUTES') } - - steps { - script { - def image = docker.build("springci/spring-data-openjdk17-with-redis-6.2", "-f ci/openjdk17-redis-6.2/Dockerfile .") + def image = docker.build("springci/spring-data-openjdk17-with-redis-6.2", "-f ci/openjdk17-redis6.2/Dockerfile .") docker.withRegistry('', 'hub.docker.com-springbuildmaster') { image.push() } @@ -55,11 +36,10 @@ pipeline { } } - stage("test: baseline (jdk8)") { + stage("test: baseline (Java 17)") { when { - beforeAgent(true) anyOf { - branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") + branch 'main' not { triggeredBy 'UpstreamCause' } } } @@ -73,7 +53,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk8-with-redis-6.2:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('springci/spring-data-openjdk17-with-redis-6.2:latest').inside('-v $HOME:/tmp/jenkins-home') { sh 'PROFILE=none LONG_TESTS=true ci/test.sh' } } @@ -81,41 +61,10 @@ pipeline { } } - stage("Test other configurations") { - when { - beforeAgent(true) - allOf { - branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") - not { triggeredBy 'UpstreamCause' } - } - } - parallel { - stage("test: baseline (jdk17)") { - agent { - label 'data' - } - options { timeout(time: 30, unit: 'MINUTES') } - environment { - ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') - } - steps { - script { - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('springci/spring-data-openjdk17-with-redis-6.2:latest').inside('-v $HOME:/tmp/jenkins-home') { - sh 'PROFILE=java11 ci/test.sh' - } - } - } - } - } - } - } - stage('Release to artifactory') { when { - beforeAgent(true) anyOf { - branch(pattern: "main|(\\d\\.\\d\\.x)", comparator: "REGEXP") + branch 'main' not { triggeredBy 'UpstreamCause' } } } @@ -131,7 +80,7 @@ pipeline { steps { script { docker.withRegistry('', 'hub.docker.com-springbuildmaster') { - docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') { + docker.image('openjdk:17-bullseye').inside('-v $HOME:/tmp/jenkins-home') { sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' + '-Dartifactory.server=https://repo.spring.io ' + "-Dartifactory.username=${ARTIFACTORY_USR} " + @@ -145,6 +94,35 @@ pipeline { } } } + + stage('Publish documentation') { + when { + branch 'main' + } + agent { + label 'data' + } + options { timeout(time: 20, unit: 'MINUTES') } + + environment { + ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') + } + + steps { + script { + docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.image('openjdk:17-bullseye').inside('-v $HOME:/tmp/jenkins-home') { + sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,distribute ' + + '-Dartifactory.server=https://repo.spring.io ' + + "-Dartifactory.username=${ARTIFACTORY_USR} " + + "-Dartifactory.password=${ARTIFACTORY_PSW} " + + "-Dartifactory.distribution-repository=temp-private-local " + + '-Dmaven.test.skip=true clean deploy -U -B' + } + } + } + } + } } post { diff --git a/ci/openjdk8-redis-6.2/Dockerfile b/ci/openjdk17-redis6.2/Dockerfile similarity index 89% rename from ci/openjdk8-redis-6.2/Dockerfile rename to ci/openjdk17-redis6.2/Dockerfile index 5ef72c515..a8edee072 100644 --- a/ci/openjdk8-redis-6.2/Dockerfile +++ b/ci/openjdk17-redis6.2/Dockerfile @@ -1,4 +1,4 @@ -FROM adoptopenjdk/openjdk8:latest +FROM openjdk:17-bullseye # Copy Spring Data Redis's Makefile into the container COPY ./Makefile /