ci: retry docker builds across proxy outages

This commit is contained in:
2026-08-21 23:18:52 +08:00
parent b1ff485bda
commit af5ca8be73
+20 -14
View File
@@ -88,20 +88,26 @@ pipeline {
stage('Build linux-amd64 Image') {
steps {
retry(2) {
sh '''
set -euo pipefail
$DOCKER_CMD buildx build \
--platform linux/amd64 \
--load \
--file Dockerfile.backend \
--build-arg "BUILD_VERSION=$IMMUTABLE_TAG" \
--build-arg "VCS_REF=$FULL_SHA" \
--build-arg "BUILD_DATE=$BUILD_DATE" \
--tag "$IMAGE_REF" \
.
'''
}
sh '''
set -euo pipefail
for attempt in $(seq 1 6); do
if $DOCKER_CMD buildx build \
--platform linux/amd64 \
--load \
--file Dockerfile.backend \
--build-arg "BUILD_VERSION=$IMMUTABLE_TAG" \
--build-arg "VCS_REF=$FULL_SHA" \
--build-arg "BUILD_DATE=$BUILD_DATE" \
--tag "$IMAGE_REF" \
.; then
break
fi
if [ "$attempt" -ge 6 ]; then
exit 1
fi
sleep $((attempt * 10))
done
'''
sh '''
set -euo pipefail
test "$($DOCKER_CMD image inspect "$IMAGE_REF" --format '{{.Os}}/{{.Architecture}}')" = 'linux/amd64'