diff --git a/Jenkinsfile b/Jenkinsfile
index f110e342e..31a45750f 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -1,184 +1,184 @@
pipeline {
- agent none
+ agent none
- triggers {
- pollSCM 'H/10 * * * *'
- upstream(upstreamProjects: "spring-data-commons/master", threshold: hudson.model.Result.SUCCESS)
- }
+ triggers {
+ pollSCM 'H/10 * * * *'
+ upstream(upstreamProjects: "spring-data-commons/master", threshold: hudson.model.Result.SUCCESS)
+ }
- options {
- disableConcurrentBuilds()
- buildDiscarder(logRotator(numToKeepStr: '14'))
- }
+ options {
+ disableConcurrentBuilds()
+ buildDiscarder(logRotator(numToKeepStr: '14'))
+ }
- stages {
- stage("Docker images") {
- parallel {
- stage('Publish JDK 8 + MongoDB 4.0') {
- when {
- changeset "ci/openjdk8-mongodb-4.0/**"
- }
- agent { label 'data' }
- options { timeout(time: 30, unit: 'MINUTES') }
+ stages {
+ stage("Docker images") {
+ parallel {
+ stage('Publish JDK 8 + MongoDB 4.0') {
+ when {
+ changeset "ci/openjdk8-mongodb-4.0/**"
+ }
+ agent { label 'data' }
+ options { timeout(time: 30, unit: 'MINUTES') }
- steps {
- script {
- def image = docker.build("springci/spring-data-openjdk8-with-mongodb-4.0", "ci/openjdk8-mongodb-4.0/")
- docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
- image.push()
- }
- }
- }
- }
- stage('Publish JDK 8 + MongoDB 4.1') {
- when {
- changeset "ci/openjdk8-mongodb-4.1/**"
- }
- agent { label 'data' }
- options { timeout(time: 30, unit: 'MINUTES') }
+ steps {
+ script {
+ def image = docker.build("springci/spring-data-openjdk8-with-mongodb-4.0", "ci/openjdk8-mongodb-4.0/")
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ image.push()
+ }
+ }
+ }
+ }
+ stage('Publish JDK 8 + MongoDB 4.1') {
+ when {
+ changeset "ci/openjdk8-mongodb-4.1/**"
+ }
+ agent { label 'data' }
+ options { timeout(time: 30, unit: 'MINUTES') }
- steps {
- script {
- def image = docker.build("springci/spring-data-openjdk8-with-mongodb-4.1", "ci/openjdk8-mongodb-4.1/")
- docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
- image.push()
- }
- }
- }
- }
- }
- }
+ steps {
+ script {
+ def image = docker.build("springci/spring-data-openjdk8-with-mongodb-4.1", "ci/openjdk8-mongodb-4.1/")
+ docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
+ image.push()
+ }
+ }
+ }
+ }
+ }
+ }
- stage("test: baseline") {
- when {
- anyOf {
- branch 'master'
- not { triggeredBy 'UpstreamCause' }
- }
- }
- agent {
- docker {
- image 'springci/spring-data-openjdk8-with-mongodb-4.0:latest'
- label 'data'
- args '-v $HOME:/tmp/jenkins-home'
- }
- }
- options { timeout(time: 30, unit: 'MINUTES') }
- steps {
- sh 'rm -rf ?'
- sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
- sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
- sh 'sleep 10'
- sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
- sh 'sleep 15'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list test -Dsort -B'
- }
- }
+ stage("test: baseline") {
+ when {
+ anyOf {
+ branch 'master'
+ not { triggeredBy 'UpstreamCause' }
+ }
+ }
+ agent {
+ docker {
+ image 'springci/spring-data-openjdk8-with-mongodb-4.0:latest'
+ label 'data'
+ args '-v $HOME:/tmp/jenkins-home'
+ }
+ }
+ options { timeout(time: 30, unit: 'MINUTES') }
+ steps {
+ sh 'rm -rf ?'
+ sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
+ sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
+ sh 'sleep 10'
+ sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
+ sh 'sleep 15'
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list test -Dsort -B'
+ }
+ }
- stage("Test other configurations") {
- when {
- anyOf {
- branch 'master'
- not { triggeredBy 'UpstreamCause' }
- }
- }
- parallel {
- stage("test: mongodb 4.1") {
- agent {
- docker {
- image 'springci/spring-data-openjdk8-with-mongodb-4.1:latest'
- label 'data'
- args '-v $HOME:/tmp/jenkins-home'
- }
- }
- options { timeout(time: 30, unit: 'MINUTES') }
- steps {
- sh 'rm -rf ?'
- sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
- sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
- sh 'sleep 10'
- sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
- sh 'sleep 15'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list test -Dsort -B'
- }
- }
- }
- }
+ stage("Test other configurations") {
+ when {
+ anyOf {
+ branch 'master'
+ not { triggeredBy 'UpstreamCause' }
+ }
+ }
+ parallel {
+ stage("test: mongodb 4.1") {
+ agent {
+ docker {
+ image 'springci/spring-data-openjdk8-with-mongodb-4.1:latest'
+ label 'data'
+ args '-v $HOME:/tmp/jenkins-home'
+ }
+ }
+ options { timeout(time: 30, unit: 'MINUTES') }
+ steps {
+ sh 'rm -rf ?'
+ sh 'mkdir -p /tmp/mongodb/db /tmp/mongodb/log'
+ sh 'mongod --dbpath /tmp/mongodb/db --replSet rs0 --fork --logpath /tmp/mongodb/log/mongod.log &'
+ sh 'sleep 10'
+ sh 'mongo --eval "rs.initiate({_id: \'rs0\', members:[{_id: 0, host: \'127.0.0.1:27017\'}]});"'
+ sh 'sleep 15'
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list test -Dsort -B'
+ }
+ }
+ }
+ }
- stage('Release to artifactory') {
- when {
- anyOf {
- branch 'master'
- not { triggeredBy 'UpstreamCause' }
- }
- }
- agent {
- docker {
- image 'adoptopenjdk/openjdk8:latest'
- label 'data'
- args '-v $HOME:/tmp/jenkins-home'
- }
- }
- options { timeout(time: 20, unit: 'MINUTES') }
+ stage('Release to artifactory') {
+ when {
+ anyOf {
+ branch 'master'
+ not { triggeredBy 'UpstreamCause' }
+ }
+ }
+ agent {
+ docker {
+ image 'adoptopenjdk/openjdk8:latest'
+ label 'data'
+ args '-v $HOME:/tmp/jenkins-home'
+ }
+ }
+ options { timeout(time: 20, unit: 'MINUTES') }
- environment {
- ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
- }
+ environment {
+ ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
+ }
- steps {
- sh 'rm -rf ?'
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,artifactory ' +
- '-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-mongodb " +
- "-Dartifactory.build-number=${BUILD_NUMBER} " +
- '-Dmaven.test.skip=true clean deploy -B'
- }
- }
+ steps {
+ sh 'rm -rf ?'
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,artifactory ' +
+ '-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-mongodb " +
+ "-Dartifactory.build-number=${BUILD_NUMBER} " +
+ '-Dmaven.test.skip=true clean deploy -B'
+ }
+ }
- stage('Publish documentation') {
- when {
- branch 'master'
- }
- agent {
- docker {
- image 'adoptopenjdk/openjdk8:latest'
- label 'data'
- args '-v $HOME:/tmp/jenkins-home'
- }
- }
- options { timeout(time: 20, unit: 'MINUTES') }
+ stage('Publish documentation') {
+ when {
+ branch 'master'
+ }
+ agent {
+ docker {
+ image 'adoptopenjdk/openjdk8:latest'
+ label 'data'
+ args '-v $HOME:/tmp/jenkins-home'
+ }
+ }
+ options { timeout(time: 20, unit: 'MINUTES') }
- environment {
- ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
- }
+ environment {
+ ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c')
+ }
- steps {
- sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -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 -B'
- }
- }
- }
+ steps {
+ sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -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 -B'
+ }
+ }
+ }
- post {
- changed {
- script {
- slackSend(
- color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger',
- channel: '#spring-data-dev',
- message: "${currentBuild.fullDisplayName} - `${currentBuild.currentResult}`\n${env.BUILD_URL}")
- emailext(
- subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}",
- mimeType: 'text/html',
- recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']],
- body: "${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}")
- }
- }
- }
+ post {
+ changed {
+ script {
+ slackSend(
+ color: (currentBuild.currentResult == 'SUCCESS') ? 'good' : 'danger',
+ channel: '#spring-data-dev',
+ message: "${currentBuild.fullDisplayName} - `${currentBuild.currentResult}`\n${env.BUILD_URL}")
+ emailext(
+ subject: "[${currentBuild.fullDisplayName}] ${currentBuild.currentResult}",
+ mimeType: 'text/html',
+ recipientProviders: [[$class: 'CulpritsRecipientProvider'], [$class: 'RequesterRecipientProvider']],
+ body: "${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}")
+ }
+ }
+ }
}