ci: retry image pulls during deploy

This commit is contained in:
2569718930@qq.com
2026-05-28 10:16:31 +08:00
parent be549daf50
commit 12d911f356
2 changed files with 17 additions and 1 deletions
+10 -1
View File
@@ -18,7 +18,16 @@ if [ -f "$TAG_FILE" ]; then
fi
export IMAGE_TAG="$NEW_TAG"
docker compose pull
pull_ok=0
for pull_attempt in $(seq 1 6); do
docker compose pull && pull_ok=1 && break
echo "Image pull failed or tag not ready, retry ${pull_attempt}/6..."
sleep 10
done
if [ "$pull_ok" != "1" ]; then
echo "❌ Image pull failed after retries"
exit 1
fi
docker compose up -d
# Wait for backend to be ready (retry up to 150s)
+7
View File
@@ -60,3 +60,10 @@ def test_city_detail_peak_window_uses_shared_multi_model_resolver():
assert "from src.analysis.trend_engine import _resolve_peak_hours" in source
assert "peak_hours = _resolve_peak_hours(" in source
def test_deploy_script_retries_image_pull_for_registry_propagation():
script = (ROOT / "deploy.sh").read_text(encoding="utf-8")
assert "for pull_attempt in $(seq 1 6)" in script
assert "docker compose pull && pull_ok=1 && break" in script