Skip to content

Commit 8991562

Browse files
committed
DATACOUCH-664 - Use Docker hub credentials for all CI jobs.
1 parent aa52337 commit 8991562

File tree

4 files changed

+94
-44
lines changed

4 files changed

+94
-44
lines changed

Jenkinsfile

Lines changed: 73 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -20,16 +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 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci clean dependency:list test -Dsort -Dbundlor.enabled=false -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-couchbase'
32-
sh "chown -R 1001:1001 target"
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=ci ci/test.sh'
37+
sh "ci/clean.sh"
38+
}
39+
}
40+
}
3341
}
3442
}
3543

@@ -43,30 +51,47 @@ pipeline {
4351
parallel {
4452
stage("test: baseline (jdk11)") {
4553
agent {
46-
docker {
47-
image 'adoptopenjdk/openjdk11:latest'
48-
label 'data'
49-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
50-
}
54+
label 'data'
5155
}
5256
options { timeout(time: 30, unit: 'MINUTES') }
57+
58+
environment {
59+
DOCKER_HUB = credentials('hub.docker.com-springbuildmaster')
60+
}
61+
5362
steps {
54-
sh 'MAVEN_OPTS="-Duser.name=jenkins -Duser.home=/tmp/jenkins-home" ./mvnw -Pci,java11 clean dependency:list test -Dsort -Dbundlor.enabled=false -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-couchbase'
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=ci,java11 ci/test.sh'
68+
sh "ci/clean.sh"
69+
}
70+
}
71+
}
5572
}
5673
}
5774

5875
stage("test: baseline (jdk15)") {
5976
agent {
60-
docker {
61-
image 'adoptopenjdk/openjdk15:latest'
62-
label 'data'
63-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
64-
// root but with no maven caching
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 -Pci,java11 clean dependency:list test -Dsort -Dbundlor.enabled=false -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-couchbase'
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=ci,java11 ci/test.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,14 +114,20 @@ 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-couchbase ' +
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-couchbase " +
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-couchbase-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-couchbase " +
126+
"-Dartifactory.build-number=${BUILD_NUMBER} " +
127+
'-Dmaven.test.skip=true clean deploy -U -B'
128+
}
129+
}
130+
}
104131
}
105132
}
106133

@@ -109,11 +136,7 @@ pipeline {
109136
branch '4.1.x'
110137
}
111138
agent {
112-
docker {
113-
image 'adoptopenjdk/openjdk8:latest'
114-
label 'data'
115-
args '-u root -v /var/run/docker.sock:/var/run/docker.sock -v $HOME:/tmp/jenkins-home'
116-
}
139+
label 'data'
117140
}
118141
options { timeout(time: 20, unit: 'MINUTES') }
119142

@@ -122,12 +145,18 @@ pipeline {
122145
}
123146

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

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-couchbase

ci/test.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-couchbase
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 test -Dsort -Dbundlor.enabled=false -U -B -Dmaven.repo.local=/tmp/jenkins-home/.m2/spring-data-couchbase

pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,11 @@
218218
<id>spring-plugins-release</id>
219219
<url>https://repo.spring.io/plugins-release</url>
220220
</pluginRepository>
221+
<pluginRepository>
222+
<id>bintray-plugins</id>
223+
<name>bintray-plugins</name>
224+
<url>https://jcenter.bintray.com</url>
225+
</pluginRepository>
221226
</pluginRepositories>
222227

223228
<build>

0 commit comments

Comments
 (0)