fix(deploy): 健康检查增加重试与失败日志输出
All checks were successful
CI / ci (push) Successful in 1m22s

部署后健康检查改为带重试等待,避免容器冷启动阶段的短暂连接重置导致发布误判失败;若最终失败则输出 app 日志便于排障。

Made-with: Cursor
This commit is contained in:
2026-04-28 05:19:06 +08:00
parent ae02099dbd
commit 7f42afe42b

View File

@@ -69,5 +69,18 @@ jobs:
docker compose -f deploy/docker/docker-compose.yml --env-file deploy/docker/.env pull app
docker compose -f deploy/docker/docker-compose.yml --env-file deploy/docker/.env up -d app
docker compose -f deploy/docker/docker-compose.yml ps
curl -fsS "http://127.0.0.1:\${HOST_BIND_PORT:-3000}/api/docs" >/dev/null
HEALTH_URL="http://127.0.0.1:\${HOST_BIND_PORT:-3000}/api/docs"
HEALTH_OK=0
for i in $(seq 1 30); do
if curl -fsS "${HEALTH_URL}" >/dev/null; then
HEALTH_OK=1
break
fi
sleep 2
done
if [ "${HEALTH_OK}" -ne 1 ]; then
docker compose -f deploy/docker/docker-compose.yml --env-file deploy/docker/.env logs --tail=200 app || true
echo "Health check failed: ${HEALTH_URL}"
exit 1
fi
EOF