fix(ci): retag_skipped_image 候选源 docker pull 增加 3 次重试,网络抖动容错
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 3m34s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 4m14s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 6m1s
AI Code Review / AI Code Review (pull_request) Successful in 9m32s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 2m34s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 2m47s
CI/CD Pipeline / Canary Release to Production (pull_request) Failing after 433h29m28s
CI/CD Pipeline / Build Production API Image (pull_request) Failing after 433h29m30s
CI/CD Pipeline / Frontend Lint (pull_request) Failing after 433h37m59s
CI/CD Pipeline / Staging E2E Tests (pull_request) Failing after 433h40m39s
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Failing after 433h40m45s
CI/CD Pipeline / Build Staging Web Image (pull_request) Failing after 433h40m51s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 45s
CI/CD Pipeline / PR Build Web Image (pull_request) Failing after 433h3m18s
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 2m56s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 6m30s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 3m41s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 3m38s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 8m27s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m29s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m17s
CI/CD Pipeline / Deploy Production (pull_request) Failing after 432h55m27s
CI/CD Pipeline / Build Production Worker Image (pull_request) Failing after 432h55m27s
CI/CD Pipeline / Build Production Web Image (pull_request) Failing after 432h55m28s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Failing after 433h6m35s
CI/CD Pipeline / CI Gate (pull_request) Successful in 30s
CI/CD Pipeline / Check push changed paths (pull_request) Failing after 433h6m55s
CI/CD Pipeline / Production Browser E2E (pull_request) Failing after 432h55m26s
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Failing after 433h6m41s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Failing after 433h3m56s
CI/CD Pipeline / ACR Image Cleanup (pull_request) Failing after 433h6m37s
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Failing after 433h6m39s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Failing after 433h6m45s
CI/CD Pipeline / Build Staging Worker Image (pull_request) Failing after 433h6m47s
CI/CD Pipeline / Build Staging API Image (pull_request) Failing after 433h6m51s

This commit is contained in:
2026-08-29 14:18:44 +08:00
parent 36e170ae04
commit b290b15eb3
+11 -1
View File
@@ -27,7 +27,17 @@ fi
SRC_TAG=""
for cand in "${CANDIDATES[@]}"; do
echo "尝试拉取 ${IMAGE}:${cand} ..."
if docker pull "${IMAGE}:${cand}" >/dev/null 2>&1; then
# 网络抖动容错:每个候选源最多重试 3 次
pull_ok=""
for try in 1 2 3; do
if docker pull "${IMAGE}:${cand}" >/dev/null 2>&1; then
pull_ok="yes"
break
fi
echo " 拉取失败(第 $try/3 次),2s 后重试..."
sleep 2
done
if [ -n "$pull_ok" ]; then
SRC_TAG="$cand"
break
fi