Skip to content

Commit 53f0e79

Browse files
committed
DATAES-996 - Use Docker hub credentials for all CI jobs.
1 parent 3da9eaa commit 53f0e79

File tree

5 files changed

+95
-45
lines changed

5 files changed

+95
-45
lines changed

CI.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ image:https://jenkins.spring.io/buildStatus/icon?job=spring-data-elasticsearch%2
99
Since this pipeline is purely Docker-based, it's easy to:
1010

1111
* Debug what went wrong on your local machine.
12-
* Test out a a tweak to your `test.sh` script before sending it out.
12+
* Test out a a tweak to your `verify.sh` script before sending it out.
1313
* Experiment against a new image before submitting your pull request.
1414

1515
All of these use cases are great reasons to essentially run what the CI server does on your local machine.

Jenkinsfile

Lines changed: 73 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,24 @@ pipeline {
2020
}
2121
}
2222
agent {
23-
docker {
24-
image 'adoptopenjdk/openjdk8:latest'
25-
label 'data'
26-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
27-
}
23+
label 'data'
2824
}
2925
options { timeout(time: 30, unit: 'MINUTES') }
26+
27+
environment {
28+
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
29+
}
30+
3031
steps {
31-
sh 'mkdir -p /tmp/jenkins-home'
32-
sh 'chown -R 1001:1001 .'
33-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw clean dependency:list verify -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch'
32+
script {
33+
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
34+
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') {
35+
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
36+
sh 'PROFILE=none ci/verify.sh'
37+
sh "ci/clean.sh"
38+
}
39+
}
40+
}
3441
}
3542
}
3643

@@ -44,29 +51,47 @@ pipeline {
4451
parallel {
4552
stage("test: baseline (jdk11)") {
4653
agent {
47-
docker {
48-
image 'adoptopenjdk/openjdk11:latest'
49-
label 'data'
50-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
51-
}
54+
label 'data'
5255
}
5356
options { timeout(time: 30, unit: 'MINUTES') }
57+
58+
environment {
59+
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
60+
}
61+
5462
steps {
55-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pjava11 clean dependency:list verify -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch'
63+
script {
64+
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
65+
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') {
66+
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
67+
sh 'PROFILE=java11 ci/verify.sh'
68+
sh "ci/clean.sh"
69+
}
70+
}
71+
}
5672
}
5773
}
5874

5975
stage("test: baseline (jdk15)") {
6076
agent {
61-
docker {
62-
image 'adoptopenjdk/openjdk15:latest'
63-
label 'data'
64-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
65-
}
77+
label 'data'
6678
}
6779
options { timeout(time: 30, unit: 'MINUTES') }
80+
81+
environment {
82+
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
83+
}
84+
6885
steps {
69-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pjava11 clean dependency:list verify -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch'
86+
script {
87+
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
88+
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') {
89+
sh "docker login --username ${DOCKER_HUB_USR} --password ${DOCKER_HUB_PSW}"
90+
sh 'PROFILE=java11 ci/verify.sh'
91+
sh "ci/clean.sh"
92+
}
93+
}
94+
}
7095
}
7196
}
7297
}
@@ -80,11 +105,7 @@ pipeline {
80105
}
81106
}
82107
agent {
83-
docker {
84-
image 'adoptopenjdk/openjdk8:latest'
85-
label 'data'
86-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
87-
}
108+
label 'data'
88109
}
89110
options { timeout(time: 20, unit: 'MINUTES') }
90111

@@ -93,26 +114,28 @@ pipeline {
93114
}
94115

95116
steps {
96-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch ' +
97-
'-Dartifactory.server=https://repo.spring.io ' +
98-
"-Dartifactory.username=${ARTIFACTORY_USR} " +
99-
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
100-
"-Dartifactory.staging-repository=libs-snapshot-local " +
101-
"-Dartifactory.build-name=spring-data-elasticsearch " +
102-
"-Dartifactory.build-number=${BUILD_NUMBER} " +
103-
'-Dmaven.test.skip=true clean deploy -U -B'
117+
script {
118+
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
119+
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
120+
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,artifactory -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch-non-root ' +
121+
'-Dartifactory.server=https://repo.spring.io ' +
122+
"-Dartifactory.username=${ARTIFACTORY_USR} " +
123+
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
124+
"-Dartifactory.staging-repository=libs-snapshot-local " +
125+
"-Dartifactory.build-name=spring-data-elasticsearch " +
126+
"-Dartifactory.build-number=${BUILD_NUMBER} " +
127+
'-Dmaven.test.skip=true clean deploy -U -B'
128+
}
129+
}
130+
}
104131
}
105132
}
106133
stage('Publish documentation') {
107134
when {
108135
branch '4.1.x'
109136
}
110137
agent {
111-
docker {
112-
image 'adoptopenjdk/openjdk8:latest'
113-
label 'data'
114-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
115-
}
138+
label 'data'
116139
}
117140
options { timeout(time: 20, unit: 'MINUTES') }
118141

@@ -121,12 +144,18 @@ pipeline {
121144
}
122145

123146
steps {
124-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,distribute -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch ' +
125-
'-Dartifactory.server=https://repo.spring.io ' +
126-
"-Dartifactory.username=${ARTIFACTORY_USR} " +
127-
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
128-
"-Dartifactory.distribution-repository=temp-private-local " +
129-
'-Dmaven.test.skip=true clean deploy -U -B'
147+
script {
148+
docker.withRegistry('', 'hub.docker.com-springbuildmaster') {
149+
docker.image('adoptopenjdk/openjdk8:latest').inside('-v $HOME:/tmp/jenkins-home') {
150+
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,distribute -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch-non-root ' +
151+
'-Dartifactory.server=https://repo.spring.io ' +
152+
"-Dartifactory.username=${ARTIFACTORY_USR} " +
153+
"-Dartifactory.password=${ARTIFACTORY_PSW} " +
154+
"-Dartifactory.distribution-repository=temp-private-local " +
155+
'-Dmaven.test.skip=true clean deploy -U -B'
156+
}
157+
}
158+
}
130159
}
131160
}
132161
}

ci/clean.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/bin/bash -x
2+
3+
set -euo pipefail
4+
5+
MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \
6+
./mvnw clean -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch

ci/verify.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash -x
2+
3+
set -euo pipefail
4+
5+
mkdir -p /tmp/jenkins-home/.m2/spring-data-elasticsearch
6+
chown -R 1001:1001 .
7+
8+
MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" \
9+
./mvnw \
10+
-P${PROFILE} clean dependency:list verify -Dsort -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-elasticsearch

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -415,6 +415,11 @@
415415
<id>spring-plugins-release</id>
416416
<url>https://repo.spring.io/plugins-release</url>
417417
</pluginRepository>
418+
<pluginRepository>
419+
<id>bintray-plugins</id>
420+
<name>bintray-plugins</name>
421+
<url>https://jcenter.bintray.com</url>
422+
</pluginRepository>
418423
</pluginRepositories>
419424

420425
</project>

0 commit comments

Comments
 (0)