diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a26dabf..1a2cddf 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -41,15 +41,16 @@ jobs: - name: 健康检查 run: | + # 作业跑在独立的 job 容器里,127.0.0.1 不是宿主机, + # 因此进应用容器内部自检(nginx:alpine 自带 busybox wget) for i in $(seq 1 15); do - code=$(curl -s -o /dev/null -w '%{http_code}' "http://127.0.0.1:${HOST_PORT}/" || true) - if [ "$code" = "200" ]; then - echo "容器已就绪,HTTP $code" + if docker exec "$CONTAINER" wget -q -O /dev/null http://127.0.0.1/; then + echo "容器已就绪(第 ${i} 次探测)" exit 0 fi sleep 2 done - echo "健康检查失败,最后状态码:$code" + echo "健康检查失败" docker logs --tail 50 "$CONTAINER" || true exit 1