ci: improve docker readiness and isolate dind cache per build pod

This commit is contained in:
Brad Stein 2026-04-10 05:59:39 -03:00
parent a2ae8c1262
commit f8d63a100a

17
Jenkinsfile vendored
View File

@ -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
'''
}
}