From 5c838516bda8a7e66a3dba7fe0c59b1d4d8fc901 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Fri, 4 Feb 2022 09:19:13 +0100 Subject: [PATCH] Polishing. Extract docker credentials into properties file. See #1214 --- Jenkinsfile | 23 ++++++++++++----------- ci/openjdk11-8-cassandra-3.11/Dockerfile | 2 +- ci/openjdk17-8-cassandra-3.11/Dockerfile | 3 +-- ci/pipeline.properties | 4 ++++ 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 90e8732db..5c05bfda9 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,8 +23,8 @@ pipeline { stage('Publish JDK (main) + Cassandra 3.11') { when { anyOf { - changeset "ci/openjdk8-cassandra-3.11/**" - changeset "ci/pipeline.properties" + changeset "ci/openjdk8-cassandra-3.11/**" + changeset "ci/pipeline.properties" } } agent { label 'data' } @@ -33,7 +33,7 @@ pipeline { steps { script { def image = docker.build("springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}", "--build-arg BASE=${p['docker.java.main.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk8-cassandra-3.11/") - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { image.push() } } @@ -42,8 +42,8 @@ pipeline { stage('Publish JDK (next) + Cassandra 3.11') { when { anyOf { - changeset "ci/openjdk11-8-cassandra-3.11/**" - changeset "ci/pipeline.properties" + changeset "ci/openjdk11-8-cassandra-3.11/**" + changeset "ci/pipeline.properties" } } agent { label 'data' } @@ -52,7 +52,7 @@ pipeline { steps { script { def image = docker.build("springci/spring-data-with-cassandra-3.11:${p['java.next.tag']}", "--build-arg BASE=${p['docker.java.next.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk11-8-cassandra-3.11/") - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { image.push() } } @@ -71,7 +71,7 @@ pipeline { steps { script { def image = docker.build("springci/spring-data-with-cassandra-3.11:${p['java.lts.tag']}", "--build-arg BASE=${p['docker.java.lts.image']} --build-arg CASSANDRA=${p['docker.cassandra.3.version']} ci/openjdk17-8-cassandra-3.11/") - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { image.push() } } @@ -97,7 +97,7 @@ pipeline { } steps { script { - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { docker.image("springci/spring-data-with-cassandra-3.11:${p['java.main.tag']}").inside(p['docker.java.inside.basic']) { sh 'mkdir -p /tmp/jenkins-home' sh 'JAVA_HOME=/opt/java/openjdk /opt/cassandra/bin/cassandra -R &' @@ -127,7 +127,7 @@ pipeline { } steps { script { - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { docker.image("springci/spring-data-with-cassandra-3.11:${p['java.next.tag']}").inside(p['docker.java.inside.basic']) { sh 'mkdir -p /tmp/jenkins-home' sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &' @@ -147,7 +147,7 @@ pipeline { } steps { script { - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { docker.image("springci/spring-data-with-cassandra-3.11:${p['java.lts.tag']}").inside(p['docker.java.inside.basic']) { sh 'mkdir -p /tmp/jenkins-home' sh 'JAVA_HOME=/opt/java/openjdk8 /opt/cassandra/bin/cassandra -R &' @@ -159,6 +159,7 @@ pipeline { } } } + stage('Release to artifactory') { when { beforeAgent(true) @@ -178,7 +179,7 @@ pipeline { steps { script { - docker.withRegistry('', 'hub.docker.com-springbuildmaster') { + docker.withRegistry(p['docker.registry'], p['docker.credentials']) { docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) { sh 'mkdir -p /tmp/jenkins-home' sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory ' + diff --git a/ci/openjdk11-8-cassandra-3.11/Dockerfile b/ci/openjdk11-8-cassandra-3.11/Dockerfile index 2ddde2c3e..d3653d0c1 100644 --- a/ci/openjdk11-8-cassandra-3.11/Dockerfile +++ b/ci/openjdk11-8-cassandra-3.11/Dockerfile @@ -15,7 +15,7 @@ RUN set -eux; \ useradd -d /home/jenkins-docker -m -u 1001 -U jenkins-docker; RUN set -eux; \ - BINARY_URL='https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz'; \ + BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz'; \ curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ mkdir -p /opt/java/openjdk8; \ cd /opt/java/openjdk8; \ diff --git a/ci/openjdk17-8-cassandra-3.11/Dockerfile b/ci/openjdk17-8-cassandra-3.11/Dockerfile index 3f266a81b..d3653d0c1 100644 --- a/ci/openjdk17-8-cassandra-3.11/Dockerfile +++ b/ci/openjdk17-8-cassandra-3.11/Dockerfile @@ -14,9 +14,8 @@ RUN set -eux; \ chmod -R a+rwx /opt/cassandra; \ useradd -d /home/jenkins-docker -m -u 1001 -U jenkins-docker; - RUN set -eux; \ - BINARY_URL='https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u292-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u292b10.tar.gz'; \ + BINARY_URL='https://github.com/adoptium/temurin8-binaries/releases/download/jdk8u322-b06/OpenJDK8U-jdk_x64_linux_hotspot_8u322b06.tar.gz'; \ curl -LfsSo /tmp/openjdk.tar.gz ${BINARY_URL}; \ mkdir -p /opt/java/openjdk8; \ cd /opt/java/openjdk8; \ diff --git a/ci/pipeline.properties b/ci/pipeline.properties index 5d91102d2..51b0767cc 100644 --- a/ci/pipeline.properties +++ b/ci/pipeline.properties @@ -22,3 +22,7 @@ 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 + +# Credentials +docker.registry= +docker.credentials=hub.docker.com-springbuildmaster