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
|
||||
emptyDir: {}
|
||||
- name: dind-storage
|
||||
persistentVolumeClaim:
|
||||
claimName: jenkins-dind-cache
|
||||
emptyDir: {}
|
||||
- name: harbor-config
|
||||
secret:
|
||||
secretName: harbor-bstein-robot
|
||||
@ -144,15 +143,25 @@ spec:
|
||||
container('builder') {
|
||||
sh '''
|
||||
set -euo pipefail
|
||||
ready=0
|
||||
for i in $(seq 1 10); do
|
||||
if docker info >/dev/null 2>&1; then
|
||||
ready=1
|
||||
break
|
||||
fi
|
||||
sleep 2
|
||||
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 \
|
||||
--bootstrap --use || docker buildx use bstein-builder
|
||||
--bootstrap --use
|
||||
docker buildx inspect "${BUILDER_NAME}" --bootstrap
|
||||
'''
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user