1 changed files with 107 additions and 106 deletions
@ -1,117 +1,118 @@
@@ -1,117 +1,118 @@
|
||||
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')) |
||||
} |
||||
|
||||
stages { |
||||
stage("Test") { |
||||
when { |
||||
anyOf { |
||||
branch 'master' |
||||
not { triggeredBy 'UpstreamCause' } |
||||
} |
||||
} |
||||
parallel { |
||||
stage("test: baseline") { |
||||
agent { |
||||
docker { |
||||
image 'adoptopenjdk/openjdk8:latest' |
||||
label 'data' |
||||
args '-u root -v /var/run/docker.sock:/var/run/docker.sock' // root but with no maven caching |
||||
} |
||||
} |
||||
options { timeout(time: 30, unit: 'MINUTES') } |
||||
steps { |
||||
sh 'rm -rf ?' |
||||
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,all-dbs clean dependency:list test -Dsort -Dbundlor.enabled=false -B' |
||||
sh "chown -R 1001:1001 target" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
options { |
||||
disableConcurrentBuilds() |
||||
buildDiscarder(logRotator(numToKeepStr: '14')) |
||||
} |
||||
|
||||
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') } |
||||
stages { |
||||
stage("Test") { |
||||
when { |
||||
anyOf { |
||||
branch 'master' |
||||
not { triggeredBy 'UpstreamCause' } |
||||
} |
||||
} |
||||
parallel { |
||||
stage("test: baseline") { |
||||
agent { |
||||
docker { |
||||
image 'adoptopenjdk/openjdk8:latest' |
||||
label 'data' |
||||
args '-u root -v /var/run/docker.sock:/var/run/docker.sock' |
||||
// root but with no maven caching |
||||
} |
||||
} |
||||
options { timeout(time: 30, unit: 'MINUTES') } |
||||
steps { |
||||
sh 'rm -rf ?' |
||||
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,all-dbs clean dependency:list test -Dsort -Dbundlor.enabled=false -B' |
||||
sh "chown -R 1001:1001 target" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
environment { |
||||
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') |
||||
} |
||||
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') } |
||||
|
||||
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-r2dbc " + |
||||
"-Dartifactory.build-number=${BUILD_NUMBER} " + |
||||
'-Dmaven.test.skip=true clean deploy -B' |
||||
} |
||||
} |
||||
environment { |
||||
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') |
||||
} |
||||
|
||||
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') } |
||||
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-r2dbc " + |
||||
"-Dartifactory.build-number=${BUILD_NUMBER} " + |
||||
'-Dmaven.test.skip=true clean deploy -B' |
||||
} |
||||
} |
||||
|
||||
environment { |
||||
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') |
||||
} |
||||
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') } |
||||
|
||||
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' |
||||
} |
||||
} |
||||
} |
||||
environment { |
||||
ARTIFACTORY = credentials('02bd1690-b54f-4c9f-819d-a77cb7a9822c') |
||||
} |
||||
|
||||
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: "<a href=\"${env.BUILD_URL}\">${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}</a>") |
||||
} |
||||
} |
||||
} |
||||
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: "<a href=\"${env.BUILD_URL}\">${currentBuild.fullDisplayName} is reported as ${currentBuild.currentResult}</a>") |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
Loading…
Reference in new issue