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') { stage('Build linux-amd64 Image') {
steps { steps {
retry(2) { sh '''
sh ''' set -euo pipefail
set -euo pipefail for attempt in $(seq 1 6); do
$DOCKER_CMD buildx build \ if $DOCKER_CMD buildx build \
--platform linux/amd64 \ --platform linux/amd64 \
--load \ --load \
--file Dockerfile.backend \ --file Dockerfile.backend \
--build-arg "BUILD_VERSION=$IMMUTABLE_TAG" \ --build-arg "BUILD_VERSION=$IMMUTABLE_TAG" \
--build-arg "VCS_REF=$FULL_SHA" \ --build-arg "VCS_REF=$FULL_SHA" \
--build-arg "BUILD_DATE=$BUILD_DATE" \ --build-arg "BUILD_DATE=$BUILD_DATE" \
--tag "$IMAGE_REF" \ --tag "$IMAGE_REF" \
. .; then
''' break
} fi
if [ "$attempt" -ge 6 ]; then
exit 1
fi
sleep $((attempt * 10))
done
'''
sh ''' sh '''
set -euo pipefail set -euo pipefail
test "$($DOCKER_CMD image inspect "$IMAGE_REF" --format '{{.Os}}/{{.Architecture}}')" = 'linux/amd64' test "$($DOCKER_CMD image inspect "$IMAGE_REF" --format '{{.Os}}/{{.Architecture}}')" = 'linux/amd64'