強化 CD 健康檢查重試
All checks were successful
CD Pipeline / deploy (push) Successful in 1m32s

This commit is contained in:
OoO
2026-04-30 08:58:22 +08:00
parent 9dd5986077
commit 5a569d1e05
9 changed files with 44 additions and 13 deletions

View File

@@ -224,17 +224,21 @@ jobs:
# ── 健康檢查H3: HTTP + 三容器狀態雙重驗證) ─────────────────────────
- name: 健康檢查
run: |
echo "⏳ 等待服務啟動(15s..."
sleep 15
for i in $(seq 1 5); do
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://mo.wooo.work/health --max-time 10 || echo "000")
if [ "$HTTP_CODE" = "200" ]; then
echo "✅ HTTP 健康檢查通過HTTP $HTTP_CODE"
echo "⏳ 等待服務啟動(30s..."
sleep 30
for i in $(seq 1 12); do
INTERNAL_CODE=$(ssh -i ~/.ssh/id_deploy ollama@192.168.0.188 \
"docker exec momo-pro-system curl -s -o /dev/null -w '%{http_code}' --max-time 8 http://127.0.0.1:80/health" 2>/dev/null || true)
EXTERNAL_CODE=$(curl -s -o /dev/null -w "%{http_code}" https://mo.wooo.work/health --max-time 10 2>/dev/null || true)
INTERNAL_CODE=${INTERNAL_CODE:-000}
EXTERNAL_CODE=${EXTERNAL_CODE:-000}
if [ "$INTERNAL_CODE" = "200" ] && [ "$EXTERNAL_CODE" = "200" ]; then
echo "✅ HTTP 健康檢查通過internal=$INTERNAL_CODE, external=$EXTERNAL_CODE"
break
fi
echo "⏳ 嘗試 $i/5HTTP $HTTP_CODE等待 10s..."
[ "$i" -eq 5 ] && echo "❌ HTTP 健康檢查失敗" && exit 1
sleep 10
echo "⏳ 嘗試 $i/12internal=$INTERNAL_CODE external=$EXTERNAL_CODE等待 15s..."
[ "$i" -eq 12 ] && echo "❌ HTTP 健康檢查失敗" && exit 1
sleep 15
done
# 驗證三應用容器均在 Running 狀態
ssh -i ~/.ssh/id_deploy ollama@192.168.0.188 \