From ee4ba8a119fe418ae087b64fcac6918caed15d0a Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 28 Nov 2023 15:36:44 +0100 Subject: [PATCH] Introduce property for Jenkins user and Artifactory server details. Closes #1678 --- Jenkinsfile | 19 +++++++++---------- ci/clean.sh | 6 ++++-- ci/pipeline.properties | 3 +++ ci/run-tests-against-all-dbs.sh | 5 ++++- ci/test.sh | 5 ++++- 5 files changed, 24 insertions(+), 14 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index ce13207ac..71540868c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -39,8 +39,8 @@ pipeline { steps { script { docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.docker']) { - sh "PROFILE=ci,all-dbs ci/test.sh" - sh "ci/clean.sh" + sh "PROFILE=ci,all-dbs JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh" + sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh" } } } @@ -67,8 +67,8 @@ pipeline { steps { script { docker.image(p['docker.java.next.image']).inside(p['docker.java.inside.docker']) { - sh "PROFILE=ci,all-dbs ci/test.sh" - sh "ci/clean.sh" + sh "PROFILE=ci,all-dbs JENKINS_USER_NAME=${p['jenkins.user.name']} ci/test.sh" + sh "JENKINS_USER_NAME=${p['jenkins.user.name']} ci/clean.sh" } } } @@ -88,22 +88,21 @@ pipeline { label 'data' } options { timeout(time: 20, unit: 'MINUTES') } - environment { ARTIFACTORY = credentials("${p['artifactory.credentials']}") } - steps { script { docker.image(p['docker.java.main.image']).inside(p['docker.java.inside.basic']) { - sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -s settings.xml -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-relational-non-root ' + - '-Dartifactory.server=https://repo.spring.io ' + + sh 'MAVEN_OPTS="-Duser.name=' + "${p['jenkins.user.name']}" + ' -Duser.home=/tmp/jenkins-home" ' + + "./mvnw -s settings.xml -Pci,artifactory " + + "-Dartifactory.server=${p['artifactory.url']} " + "-Dartifactory.username=${ARTIFACTORY_USR} " + "-Dartifactory.password=${ARTIFACTORY_PSW} " + - "-Dartifactory.staging-repository=libs-snapshot-local " + + "-Dartifactory.staging-repository=${p['artifactory.repository.snapshot']} " + "-Dartifactory.build-name=spring-data-relational " + "-Dartifactory.build-number=${BUILD_NUMBER} " + - '-Dmaven.test.skip=true clean deploy -U -B' + "-Dmaven.test.skip=true clean deploy -U -B" } } } diff --git a/ci/clean.sh b/ci/clean.sh index 8b92bad74..5cef3ab00 100755 --- a/ci/clean.sh +++ b/ci/clean.sh @@ -2,5 +2,7 @@ set -euo pipefail -MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \ - ./mvnw -s settings.xml clean -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc +export JENKINS_USER=${JENKINS_USER_NAME} + +MAVEN_OPTS="-Duser.name=${JENKINS_USER} -Duser.home=/tmp/jenkins-home" \ + ./mvnw -s settings.xml -Dscan=false clean -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc diff --git a/ci/pipeline.properties b/ci/pipeline.properties index 3f58111a7..25c934a51 100644 --- a/ci/pipeline.properties +++ b/ci/pipeline.properties @@ -25,3 +25,6 @@ docker.java.inside.docker=-u root -v /var/run/docker.sock:/var/run/docker.sock - docker.registry= docker.credentials=hub.docker.com-springbuildmaster artifactory.credentials=02bd1690-b54f-4c9f-819d-a77cb7a9822c +artifactory.url=https://repo.spring.io +artifactory.repository.snapshot=libs-snapshot-local +jenkins.user.name=spring-builds+jenkins diff --git a/ci/run-tests-against-all-dbs.sh b/ci/run-tests-against-all-dbs.sh index dd15c946f..8d41318af 100755 --- a/ci/run-tests-against-all-dbs.sh +++ b/ci/run-tests-against-all-dbs.sh @@ -1,3 +1,6 @@ #!/bin/sh -./mvnw -s settings.xml clean install -Pall-dbs +export JENKINS_USER=${JENKINS_USER_NAME} + +MAVEN_OPTS="-Duser.name=${JENKINS_USER} -Duser.home=/tmp/jenkins-home" \ + ./mvnw -s settings.xml clean install -Pall-dbs diff --git a/ci/test.sh b/ci/test.sh index 4eb82eda3..514ee3e94 100755 --- a/ci/test.sh +++ b/ci/test.sh @@ -10,6 +10,9 @@ cp spring-data-relational/src/test/java/org/springframework/data/ProxyImageNameS mkdir -p /tmp/jenkins-home chown -R 1001:1001 . -MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \ + +export JENKINS_USER=${JENKINS_USER_NAME} + +MAVEN_OPTS="-Duser.name=${JENKINS_USER} -Duser.home=/tmp/jenkins-home" \ ./mvnw -s settings.xml \ -P${PROFILE} clean dependency:list test -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc