fix(deploy): host 部署后自动重新生成一次网关配置
事故:门户首页改为由 admin-server 渲染(/portal-page)后,镜像里的门户模板带 HTML 占位符,而线上 gateway.conf 仍是上一版生成的(未引用渲染器),导致 门户页占位符裸露、标题为空。 在 zd-host.sh 的入口自检之后加入 apply 步骤(用同一份 env 里的 admin token), 失败即中止并回滚,避免镜像已更新但配置没跟上这类静默不一致。
This commit is contained in:
@ -136,6 +136,15 @@ CODE=$(curl -s -o /dev/null -w '%{http_code}' -m 8 -H 'Host: dashy.example.com'
|
||||
[ "$CODE" = "302" ] || { echo "!! HTTP 入口应 302 跳转,实际 $CODE" >&2; false; }
|
||||
echo " 入口自检通过(3080/3081)"
|
||||
|
||||
# 让容器按当前路由表重新生成一次网关配置:镜像里的门户模板/错误页可能已更新,
|
||||
# 而线上 gateway.conf 是上一次生成的(本轮真实事故:门户页占位符裸露)。
|
||||
ADMIN_TOK=$(grep '^NAVI_ADMIN_TOKEN=' "/tmp/navi-host-${STAMP}.env" | cut -d= -f2- || true)
|
||||
if [ -n "$ADMIN_TOK" ]; then
|
||||
APPLY=$(curl -s -X POST -H "Authorization: Bearer $ADMIN_TOK" http://127.0.0.1:3005/api/gateway/apply || true)
|
||||
echo " 已重新生成网关配置: ${APPLY}"
|
||||
case "$APPLY" in *applied*) ;; *) echo "!! 网关配置重新生成失败" >&2; false ;; esac
|
||||
fi
|
||||
|
||||
HIST=$(curl -s "http://127.0.0.1:18080/admin/api/history" | grep -o '"url"' | wc -l)
|
||||
echo " 历史条数 ${HIST}(同步接口只累加不删除;与切换前对比由人工确认)"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user