diff --git a/Jenkinsfile b/Jenkinsfile
index 03d4e210..eb424fb5 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -20,18 +20,24 @@ pipeline {
}
}
agent {
- docker {
- image 'adoptopenjdk/openjdk8:latest'
- label 'data'
- args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
- }
+ label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }
+
+ environment {
+ DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
+ }
+
steps {
- sh './accept-third-party-license.sh'
- sh 'mkdir -p /tmp/jenkins-home'
- sh 'chown -R 1001:1001 .'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,all-dbs clean dependency:list test -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc'
+ script {
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ docker.image('adoptopenjdk/openjdk8:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
+ sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
+ sh "PROFILE=ci,all-dbs ./test.sh"
+ sh "./mvnw clean"
+ }
+ }
+ }
}
}
@@ -45,31 +51,47 @@ pipeline {
parallel {
stage("test: baseline (jdk11)") {
agent {
- docker {
- image 'adoptopenjdk/openjdk11:latest'
- label 'data'
- args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
- }
+ label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }
+
+ environment {
+ DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
+ }
+
steps {
- sh './accept-third-party-license.sh'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,java11 clean dependency:list test -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc'
+ script {
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ docker.image('adoptopenjdk/openjdk11:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
+ sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
+ sh "PROFILE=ci,java11 ./test.sh"
+ sh "./mvnw clean"
+ }
+ }
+ }
}
}
stage("test: baseline (jdk15)") {
agent {
- docker {
- image 'adoptopenjdk/openjdk15:latest'
- label 'data'
- args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
- }
+ label 'data'
}
options { timeout(time: 30, unit: 'MINUTES') }
+
+ environment {
+ DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
+ }
+
steps {
- sh './accept-third-party-license.sh'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,java11 clean dependency:list test -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc'
+ script {
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ docker.image('adoptopenjdk/openjdk15:latest').inside('-u root -v /var/run/docker.sock:/var/run/docker.sock -v /usr/bin/docker:/usr/bin/docker -v $HOME:/tmp/jenkins-home') {
+ sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
+ sh "PROFILE=ci,java11 ./test.sh"
+ sh "./mvnw clean"
+ }
+ }
+ }
}
}
}
@@ -83,11 +105,7 @@ pipeline {
}
}
agent {
- docker {
- image 'adoptopenjdk/openjdk8:latest'
- label 'data'
- args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
- }
+ label 'data'
}
options { timeout(time: 20, unit: 'MINUTES') }
@@ -96,14 +114,20 @@ pipeline {
}
steps {
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc ' +
- '-Dartifactory.server=https://repo.spring.io ' +
- "-Dartifactory.username=${ARTIFACTORY_USR} " +
- "-Dartifactory.password=${ARTIFACTORY_PSW} " +
- "-Dartifactory.staging-repository=libs-snapshot-local " +
- "-Dartifactory.build-name=spring-data-jdbc " +
- "-Dartifactory.build-number=${BUILD_NUMBER} " +
- '-Dmaven.test.skip=true clean deploy -U -B'
+ script {
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc-non-root ' +
+ '-Dartifactory.server=https://repo.spring.io ' +
+ "-Dartifactory.username=${ARTIFACTORY_USR} " +
+ "-Dartifactory.password=${ARTIFACTORY_PSW} " +
+ "-Dartifactory.staging-repository=libs-snapshot-local " +
+ "-Dartifactory.build-name=spring-data-jdbc " +
+ "-Dartifactory.build-number=${BUILD_NUMBER} " +
+ '-Dmaven.test.skip=true clean deploy -U -B'
+ }
+ }
+ }
}
}
@@ -112,11 +136,7 @@ pipeline {
branch 'master'
}
agent {
- docker {
- image 'adoptopenjdk/openjdk8:latest'
- label 'data'
- args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
- }
+ label 'data'
}
options { timeout(time: 20, unit: 'MINUTES') }
@@ -125,12 +145,18 @@ pipeline {
}
steps {
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,distribute -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc ' +
- '-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'
+ script {
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,distribute -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc-non-root ' +
+ '-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'
+ }
+ }
+ }
}
}
}
diff --git a/pom.xml b/pom.xml
index d6ae6cbd..b230bbb6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -280,6 +280,11 @@
spring-plugins-snapshot
https://repo.spring.io/plugins-snapshot
+
+ bintray-plugins
+ bintray-plugins
+ https://jcenter.bintray.com
+
diff --git a/test.sh b/test.sh
new file mode 100755
index 00000000..7116bb00
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,10 @@
+#!/bin/bash -x
+
+set -euo pipefail
+
+./accept-third-party-license.sh
+mkdir -p /tmp/jenkins-home
+chown -R 1001:1001 .
+MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \
+ ./mvnw \
+ -P${PROFILE} clean dependency:list test -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-jdbc