From c236de66886bc4a3871d87261c4ce57cd595453f Mon Sep 17 00:00:00 2001 From: Rei Date: Wed, 30 Sep 2026 16:39:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E6=9B=B4=E6=96=B0=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=E6=9C=8D=E5=8A=A1=E5=90=AF=E5=8A=A8=E7=AD=89=E5=BE=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/update-and-restart.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/scripts/update-and-restart.sh b/scripts/update-and-restart.sh index 641f102..bed8684 100755 --- a/scripts/update-and-restart.sh +++ b/scripts/update-and-restart.sh @@ -16,6 +16,19 @@ fail() { exit 1 } +wait_for_url() { + local url="$1" + local attempts="${2:-20}" + local i + for ((i = 1; i <= attempts; i += 1)); do + if curl --fail --silent --show-error --max-time 10 "$url" >/dev/null 2>&1; then + return 0 + fi + sleep 1 + done + fail "健康检查超时:$url" +} + command -v git >/dev/null 2>&1 || fail '未安装 git' command -v npm >/dev/null 2>&1 || fail '未安装 npm' command -v pm2 >/dev/null 2>&1 || fail '未安装 pm2' @@ -85,8 +98,8 @@ pm2 restart ameba-cms --update-env pm2 save log '执行服务健康检查' -curl --fail --silent --show-error --max-time 15 http://127.0.0.1:13001/health >/dev/null -curl --fail --silent --show-error --max-time 20 https://www.ameiba.cn/ >/dev/null +wait_for_url http://127.0.0.1:13001/health +wait_for_url https://www.ameiba.cn/ NEW_COMMIT="$(git rev-parse --short HEAD)" log "更新完成:$OLD_COMMIT -> $NEW_COMMIT"