Skip to content

Commit 9571b8a

Browse files
authored
Retry 3 times before failing docker command (#6494)
Signed-off-by: Friedrich Gonzalez <[email protected]>
1 parent 2e1700e commit 9571b8a

File tree

1 file changed

+24
-8
lines changed

1 file changed

+24
-8
lines changed

push-images

Lines changed: 24 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,33 @@ while [ $# -gt 0 ]; do
2727
esac
2828
done
2929

30+
docker_cmd() {
31+
retries=3
32+
for ((i=1; i<=retries; i++)); do
33+
set +o errexit
34+
docker $@
35+
res=$?
36+
set -o errexit
37+
if [ $res -eq 0 ]; then
38+
break
39+
fi
40+
echo "Docker command failed. Retrying in 5 seconds..."
41+
sleep 5
42+
done
43+
return $res
44+
}
45+
3046
push_image() {
3147
local image="$1"
3248

3349
for arch in amd64 arm64; do \
3450
echo "Pushing ${image}-linux:${IMAGE_TAG}-$arch"
35-
docker tag ${image}:${IMAGE_TAG}-$arch ${image}-linux:${IMAGE_TAG}-$arch
36-
docker push ${image}-linux:${IMAGE_TAG}-$arch
51+
docker_cmd tag ${image}:${IMAGE_TAG}-$arch ${image}-linux:${IMAGE_TAG}-$arch
52+
docker_cmd push ${image}-linux:${IMAGE_TAG}-$arch
3753
done;
3854

39-
docker manifest create ${image}:${IMAGE_TAG} --amend ${image}-linux:${IMAGE_TAG}-amd64 --amend ${image}-linux:${IMAGE_TAG}-arm64
40-
docker manifest push ${image}:${IMAGE_TAG}
55+
docker_cmd manifest create ${image}:${IMAGE_TAG} --amend ${image}-linux:${IMAGE_TAG}-amd64 --amend ${image}-linux:${IMAGE_TAG}-arm64
56+
docker_cmd manifest push ${image}:${IMAGE_TAG}
4157

4258

4359
if [ -n "${NO_QUAY}" ]; then
@@ -47,14 +63,14 @@ push_image() {
4763
# remove the quay prefix and push to docker hub
4864
docker_hub_image=${image#$QUAY_PREFIX}
4965
for arch in amd64 arm64; do \
50-
docker tag ${image}:${IMAGE_TAG}-$arch ${docker_hub_image}-linux:${IMAGE_TAG}-$arch
66+
docker_cmd tag ${image}:${IMAGE_TAG}-$arch ${docker_hub_image}-linux:${IMAGE_TAG}-$arch
5167

5268
echo "Pushing ${docker_hub_image}-linux:${IMAGE_TAG}-$arch"
53-
docker push ${docker_hub_image}-linux:${IMAGE_TAG}-$arch
69+
docker_cmd push ${docker_hub_image}-linux:${IMAGE_TAG}-$arch
5470
done;
5571

56-
docker manifest create ${docker_hub_image}:${IMAGE_TAG} --amend ${docker_hub_image}-linux:${IMAGE_TAG}-amd64 --amend ${docker_hub_image}-linux:${IMAGE_TAG}-arm64
57-
docker manifest push ${docker_hub_image}:${IMAGE_TAG}
72+
docker_cmd manifest create ${docker_hub_image}:${IMAGE_TAG} --amend ${docker_hub_image}-linux:${IMAGE_TAG}-amd64 --amend ${docker_hub_image}-linux:${IMAGE_TAG}-arm64
73+
docker_cmd manifest push ${docker_hub_image}:${IMAGE_TAG}
5874
}
5975

6076
for image in ${IMAGES}; do

0 commit comments

Comments
 (0)