Skip to content

Commit 936fc81

Browse files
committed
Moved CI start/stop logic from Jenkinsfile to hack/run-ci and hack/stop-ci scripts
Signed-off-by: Olli Janatuinen <[email protected]>
1 parent 6a8876e commit 936fc81

3 files changed

Lines changed: 67 additions & 112 deletions

File tree

Jenkinsfile

Lines changed: 16 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -61,44 +61,15 @@ pipeline {
6161
withCredentials([string(credentialsId: '52af932f-f13f-429e-8467-e7ff8b965cdb', variable: 'CODECOV_TOKEN')]) {
6262
withGithubStatus('janky') {
6363
sh '''
64-
# todo: include ip_vs in base image
65-
sudo modprobe ip_vs
66-
67-
GITCOMMIT=$(git rev-parse --short HEAD)
68-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker:$GITCOMMIT .
69-
70-
docker run --rm -t --privileged \
71-
-v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
72-
-v "$WORKSPACE/.git:/go/src/github.com/docker/docker/.git" \
73-
--name docker-pr$BUILD_NUMBER \
74-
-e DOCKER_GITCOMMIT=${GITCOMMIT} \
75-
-e DOCKER_GRAPHDRIVER=vfs \
76-
-e DOCKER_EXECDRIVER=native \
77-
-e CODECOV_TOKEN \
78-
-e GIT_SHA1=${GIT_COMMIT} \
79-
docker:$GITCOMMIT \
80-
hack/ci/janky
81-
'''
82-
sh '''
83-
GITCOMMIT=$(git rev-parse --short HEAD)
84-
echo "Building e2e image"
85-
docker build --build-arg DOCKER_GITCOMMIT=$GITCOMMIT -t moby-e2e-test -f Dockerfile.e2e .
64+
hack/ci/run-ci
8665
'''
8766
}
8867
}
8968
}
9069
post {
9170
always {
9271
sh '''
93-
echo "Ensuring container killed."
94-
docker rm -vf docker-pr$BUILD_NUMBER || true
95-
96-
echo "Chowning /workspace to jenkins user"
97-
docker run --rm -v "$WORKSPACE:/workspace" busybox chown -R "$(id -u):$(id -g)" /workspace
98-
'''
99-
sh '''
100-
echo "Creating bundles.tar.gz"
101-
(find bundles -name '*.log' -o -name '*.prof' -o -name integration.test | xargs tar -czf bundles.tar.gz) || true
72+
hack/ci/stop-ci
10273
'''
10374
archiveArtifacts artifacts: 'bundles.tar.gz'
10475
}
@@ -117,33 +88,14 @@ pipeline {
11788
steps {
11889
withGithubStatus('experimental') {
11990
sh '''
120-
GITCOMMIT=$(git rev-parse --short HEAD)
121-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker:${GITCOMMIT}-exp .
122-
123-
docker run --rm -t --privileged \
124-
-v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
125-
-e DOCKER_EXPERIMENTAL=y \
126-
--name docker-pr-exp$BUILD_NUMBER \
127-
-e DOCKER_GITCOMMIT=${GITCOMMIT} \
128-
-e DOCKER_GRAPHDRIVER=vfs \
129-
-e DOCKER_EXECDRIVER=native \
130-
docker:${GITCOMMIT}-exp \
131-
hack/ci/experimental
91+
hack/ci/run-ci experimental
13292
'''
13393
}
13494
}
13595
post {
13696
always {
13797
sh '''
138-
echo "Ensuring container killed."
139-
docker rm -vf docker-pr-exp$BUILD_NUMBER || true
140-
141-
echo "Chowning /workspace to jenkins user"
142-
docker run --rm -v "$WORKSPACE:/workspace" busybox chown -R "$(id -u):$(id -g)" /workspace
143-
'''
144-
sh '''
145-
echo "Creating bundles.tar.gz"
146-
(find bundles -name '*.log' -o -name '*.prof' -o -name integration.test | xargs tar -czf bundles.tar.gz) || true
98+
hack/ci/stop-ci experimental
14799
'''
148100
archiveArtifacts artifacts: 'bundles.tar.gz'
149101
}
@@ -162,36 +114,14 @@ pipeline {
162114
steps {
163115
withGithubStatus('z') {
164116
sh '''
165-
GITCOMMIT=$(git rev-parse --short HEAD)
166-
167-
test -f Dockerfile.s390x && \
168-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-s390x:$GITCOMMIT -f Dockerfile.s390x . || \
169-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-s390x:$GITCOMMIT -f Dockerfile .
170-
171-
docker run --rm -t --privileged \
172-
-v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
173-
--name docker-pr-s390x$BUILD_NUMBER \
174-
-e DOCKER_GRAPHDRIVER=vfs \
175-
-e DOCKER_EXECDRIVER=native \
176-
-e TIMEOUT="300m" \
177-
-e DOCKER_GITCOMMIT=${GITCOMMIT} \
178-
docker-s390x:$GITCOMMIT \
179-
hack/ci/z
117+
hack/ci/run-ci s390x
180118
'''
181119
}
182120
}
183121
post {
184122
always {
185123
sh '''
186-
echo "Ensuring container killed."
187-
docker rm -vf docker-pr-s390x$BUILD_NUMBER || true
188-
189-
echo "Chowning /workspace to jenkins user"
190-
docker run --rm -v "$WORKSPACE:/workspace" s390x/busybox chown -R "$(id -u):$(id -g)" /workspace
191-
'''
192-
sh '''
193-
echo "Creating bundles.tar.gz"
194-
find bundles -name '*.log' | xargs tar -czf bundles.tar.gz
124+
hack/ci/stop-ci s390x
195125
'''
196126
archiveArtifacts artifacts: 'bundles.tar.gz'
197127
}
@@ -210,36 +140,14 @@ pipeline {
210140
steps {
211141
withGithubStatus('powerpc') {
212142
sh '''
213-
GITCOMMIT=$(git rev-parse --short HEAD)
214-
215-
test -f Dockerfile.ppc64le && \
216-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-powerpc:$GITCOMMIT -f Dockerfile.ppc64le . || \
217-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-powerpc:$GITCOMMIT -f Dockerfile .
218-
219-
docker run --rm -t --privileged \
220-
-v "$WORKSPACE/bundles:/go/src/github.com/docker/docker/bundles" \
221-
--name docker-pr-power$BUILD_NUMBER \
222-
-e DOCKER_GRAPHDRIVER=vfs \
223-
-e DOCKER_EXECDRIVER=native \
224-
-e DOCKER_GITCOMMIT=${GITCOMMIT} \
225-
-e TIMEOUT="180m" \
226-
docker-powerpc:$GITCOMMIT \
227-
hack/ci/powerpc
143+
hack/ci/run-ci ppc64le
228144
'''
229145
}
230146
}
231147
post {
232148
always {
233149
sh '''
234-
echo "Ensuring container killed."
235-
docker rm -vf docker-pr-power$BUILD_NUMBER || true
236-
237-
echo "Chowning /workspace to jenkins user"
238-
docker run --rm -v "$WORKSPACE:/workspace" ppc64le/busybox chown -R "$(id -u):$(id -g)" /workspace
239-
'''
240-
sh '''
241-
echo "Creating bundles.tar.gz"
242-
find bundles -name '*.log' | xargs tar -czf bundles.tar.gz
150+
hack/ci/stop-ci ppc64le
243151
'''
244152
archiveArtifacts artifacts: 'bundles.tar.gz'
245153
}
@@ -258,18 +166,14 @@ pipeline {
258166
steps {
259167
withGithubStatus('vendor') {
260168
sh '''
261-
GITCOMMIT=$(git rev-parse --short HEAD)
262-
263-
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t dockerven:$GITCOMMIT .
264-
265-
docker run --rm -t --privileged \
266-
--name dockerven-pr$BUILD_NUMBER \
267-
-e DOCKER_GRAPHDRIVER=vfs \
268-
-e DOCKER_EXECDRIVER=native \
269-
-v "$WORKSPACE/.git:/go/src/github.com/docker/docker/.git" \
270-
-e DOCKER_GITCOMMIT=${GITCOMMIT} \
271-
-e TIMEOUT=120m dockerven:$GITCOMMIT \
272-
hack/validate/vendor
169+
hack/ci/run-ci vendor
170+
'''
171+
}
172+
}
173+
post {
174+
always {
175+
sh '''
176+
hack/ci/stop-ci vendor
273177
'''
274178
}
275179
}

hack/ci/run-ci

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
3+
CONFIG=$1
4+
if [ -z $CONFIG ]; then
5+
CONFIG="janky"
6+
fi
7+
SCRIPTFOLDER="ci"
8+
if [ $CONFIG == "vendor" ]; then
9+
SCRIPTFOLDER = "validate"
10+
fi
11+
12+
if [ $CONFIG == "janky" ]; then
13+
sudo modprobe ip_vs
14+
fi
15+
16+
GITCOMMIT=$(git rev-parse --short HEAD)
17+
if [ $CONFIG == "s390x" ] || [ $CONFIG == "ppc64le" ]; then
18+
test -f Dockerfile.$CONFIG && \
19+
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-$CONFIG:$GITCOMMIT -f Dockerfile.$CONFIG . || \
20+
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-$CONFIG:$GITCOMMIT -f Dockerfile
21+
else
22+
docker build --rm --force-rm --build-arg APT_MIRROR=cdn-fastly.deb.debian.org -t docker-$CONFIG:$GITCOMMIT .
23+
fi
24+
25+
docker run --rm -t --privileged \
26+
-v "`pwd`/bundles:/go/src/github.com/docker/docker/bundles" \
27+
-v "`pwd`/.git:/go/src/github.com/docker/docker/.git" \
28+
--name docker-pr-$CONFIG-$BUILD_NUMBER \
29+
-e DOCKER_GITCOMMIT=${GITCOMMIT} \
30+
-e DOCKER_GRAPHDRIVER=vfs \
31+
-e DOCKER_EXECDRIVER=native \
32+
-e CODECOV_TOKEN \
33+
-e TIMEOUT="300m" \
34+
-e GIT_SHA1=${GIT_COMMIT} \
35+
docker-$CONFIG:$GITCOMMIT \
36+
hack/$SCRIPTFOLDER/$CONFIG

hack/ci/stop-ci

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
CONFIG=$1
4+
if [ -z $CONFIG ]; then
5+
CONFIG="janky"
6+
fi
7+
8+
echo "Ensuring container killed."
9+
docker rm -vf docker-pr-$CONFIG-$BUILD_NUMBER || true
10+
11+
echo "Chowning /workspace to jenkins user"
12+
docker run --rm -v "`pwd`:/workspace" busybox chown -R "$(id -u):$(id -g)" /workspace
13+
14+
echo "Creating bundles.tar.gz"
15+
(find bundles -name '*.log' -o -name '*.prof' -o -name integration.test | xargs tar -czf bundles.tar.gz) || true

0 commit comments

Comments
 (0)