From 7f42afe42b31716cc74809e86fe880917552c895 Mon Sep 17 00:00:00 2001 From: alboped Date: Tue, 28 Apr 2026 05:19:06 +0800 Subject: [PATCH] =?UTF-8?q?fix(deploy):=20=E5=81=A5=E5=BA=B7=E6=A3=80?= =?UTF-8?q?=E6=9F=A5=E5=A2=9E=E5=8A=A0=E9=87=8D=E8=AF=95=E4=B8=8E=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E6=97=A5=E5=BF=97=E8=BE=93=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 部署后健康检查改为带重试等待,避免容器冷启动阶段的短暂连接重置导致发布误判失败;若最终失败则输出 app 日志便于排障。 Made-with: Cursor --- .gitea/workflows/deploy.yml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a133719..e064c91 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -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