fix(deploy): 版本比对统一用短哈希,修复永不匹配的bug
This commit is contained in:
+4
-2
@@ -31,6 +31,8 @@ if [ -n "$(git status --porcelain)" ]; then
|
|||||||
fi
|
fi
|
||||||
git push origin "$BRANCH"
|
git push origin "$BRANCH"
|
||||||
LOCAL=$(git rev-parse HEAD)
|
LOCAL=$(git rev-parse HEAD)
|
||||||
|
# /health 返回 7 位短哈希,比对统一用短哈希
|
||||||
|
LOCAL_SHORT=$(git rev-parse --short=7 HEAD)
|
||||||
echo " 本地版本 ${LOCAL:0:8} 已推送,等待 cc1 自动更新…"
|
echo " 本地版本 ${LOCAL:0:8} 已推送,等待 cc1 自动更新…"
|
||||||
|
|
||||||
echo "==> [2/3] 等待 cc1 更新(轮询 ${HEALTH_URL})"
|
echo "==> [2/3] 等待 cc1 更新(轮询 ${HEALTH_URL})"
|
||||||
@@ -43,7 +45,7 @@ deadline=$(( $(date +%s) + TIMEOUT ))
|
|||||||
REMOTE=""
|
REMOTE=""
|
||||||
while [ "$(date +%s)" -lt "$deadline" ]; do
|
while [ "$(date +%s)" -lt "$deadline" ]; do
|
||||||
REMOTE=$(fetch_remote_commit)
|
REMOTE=$(fetch_remote_commit)
|
||||||
if [ "$REMOTE" = "$LOCAL" ]; then
|
if [ "$REMOTE" = "$LOCAL_SHORT" ]; then
|
||||||
echo " ✅ cc1 已更新至 ${LOCAL:0:8}"
|
echo " ✅ cc1 已更新至 ${LOCAL:0:8}"
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -51,7 +53,7 @@ while [ "$(date +%s)" -lt "$deadline" ]; do
|
|||||||
sleep "$POLL_INTERVAL"
|
sleep "$POLL_INTERVAL"
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$REMOTE" != "$LOCAL" ]; then
|
if [ "$REMOTE" != "$LOCAL_SHORT" ]; then
|
||||||
echo "❌ 部署超时(${TIMEOUT}s 内 cc1 未更新至 ${LOCAL:0:8},当前线上 ${REMOTE:0:8})"
|
echo "❌ 部署超时(${TIMEOUT}s 内 cc1 未更新至 ${LOCAL:0:8},当前线上 ${REMOTE:0:8})"
|
||||||
echo " 排查:ssh cc1 'journalctl -u vps-manager-update.service -n 30'"
|
echo " 排查:ssh cc1 'journalctl -u vps-manager-update.service -n 30'"
|
||||||
exit 1
|
exit 1
|
||||||
|
|||||||
Reference in New Issue
Block a user