ci: improve docker readiness and isolate dind cache per build pod
This commit is contained in:
parent
a2ae8c1262
commit
f8d63a100a
17
Jenkinsfile
vendored
17
Jenkinsfile
vendored
@ -57,8 +57,7 @@ spec:
|
|||||||
- name: docker-config-writable
|
- name: docker-config-writable
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
- name: dind-storage
|
- name: dind-storage
|
||||||
persistentVolumeClaim:
|
emptyDir: {}
|
||||||
claimName: jenkins-dind-cache
|
|
||||||
- name: harbor-config
|
- name: harbor-config
|
||||||
secret:
|
secret:
|
||||||
secretName: harbor-bstein-robot
|
secretName: harbor-bstein-robot
|
||||||
@ -144,15 +143,25 @@ spec:
|
|||||||
container('builder') {
|
container('builder') {
|
||||||
sh '''
|
sh '''
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
ready=0
|
||||||
for i in $(seq 1 10); do
|
for i in $(seq 1 10); do
|
||||||
if docker info >/dev/null 2>&1; then
|
if docker info >/dev/null 2>&1; then
|
||||||
|
ready=1
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
sleep 2
|
sleep 2
|
||||||
done
|
done
|
||||||
docker buildx create --name bstein-builder --driver docker-container \
|
if [ "${ready}" -ne 1 ]; then
|
||||||
|
echo "docker daemon did not become ready on ${DOCKER_HOST}" >&2
|
||||||
|
docker version || true
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
BUILDER_NAME="bstein-builder-${BUILD_NUMBER}"
|
||||||
|
docker buildx rm "${BUILDER_NAME}" >/dev/null 2>&1 || true
|
||||||
|
docker buildx create --name "${BUILDER_NAME}" --driver docker-container \
|
||||||
--driver-opt image=moby/buildkit:buildx-stable-1 \
|
--driver-opt image=moby/buildkit:buildx-stable-1 \
|
||||||
--bootstrap --use || docker buildx use bstein-builder
|
--bootstrap --use
|
||||||
|
docker buildx inspect "${BUILDER_NAME}" --bootstrap
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user