ci: retry docker builds across proxy outages
This commit is contained in:
+20
-14
@@ -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'
|
||||||
|
|||||||
Reference in New Issue
Block a user