跳到主要内容

上线准备

发布运行手册

上线准备页必须把 contract、验证、部署顺序收束成一条路径,而不是散落的检查项。

适合谁已经完成验证并准备发布文档或接入面的团队
解决动作把验证、部署和发布顺序固定成单一路径
下一步按上线验证和部署手册完成正式发布
适合场景从测试通过走向正式上线
重点先验证,再部署
检查 01接口
检查 02验证
检查 03部署

本文件用于固定 docs.zhenrobot.com 的发布链、验证方式与回滚思路,避免“本地改了但线上没更新 / 线上看起来像回滚”这类问题反复出现。

提示一条建议

发布后先用 curl 验证线上 HTML 是否包含最新内容,再打开浏览器确认视觉效果(避免缓存误判)。

1. 本站是什么

  • 这是一个 静态协议文档站(Docusaurus 构建产物)。
  • 站点内容用于解释接入路径、字段形态、边界与上线检查;不在这里承诺未公开的能力与开放范围。

2. 关键目录

  • 源码仓库(可版本控制):/home/openclaw/docs.zhenrobot.com
  • 线上静态站根目录(nginx 直接服务):/www/wwwroot/docs.zhenrobot.com/build

3. 标准发布流程(推荐)

在源码仓库执行:

cd /home/openclaw/docs.zhenrobot.com
npm run build
npm run verify:public
sudo rsync -a build/ /www/wwwroot/docs.zhenrobot.com/build/

说明:

  • npm run verify:public 会检查关键页面是否存在,以及首页/页面 intro 关键文案是否渲染成功。
  • nginx root 指向 build/ 目录(线上服务的是构建产物,而不是源码目录)。

4. 发布后如何确认

优先用命令行确认 HTML 是否包含最新内容(避免浏览器缓存误判):

curl -sS https://docs.zhenrobot.com/protocols/c2ai2x/widget-embed/ | head

如本次发布涉及 Widget 或 Console 入口,可额外执行一次外部入口健康检查:

npm run check:external-entry-health

该检查只发起无认证的 GET 请求,不创建渠道、不访问项目数据,也不纳入构建门禁。它会确认 Console 起始页、Provider 入口、Widget 运行时、/integrations 的登录跳转与认证入口仍可访问。

5. API 网关定时监测

生产机通过 zhen-api-gateway-health.timer 每 15 分钟运行一次同一检查,覆盖 API 健康入口、OpenAPI、HTTP→HTTPS、HSTS、受控接口边界与证书剩余有效期。

sudo systemctl status zhen-api-gateway-health.timer
sudo journalctl -u zhen-api-gateway-health.service -n 50 --no-pager

受控单元定义保存在 ops/systemd/。修改后先执行 sudo systemctl daemon-reload,再重启 timer。

如果看到的不是最新页面,优先排查:

  • 是否把 build/ 同步到了 /www/wwwroot/docs.zhenrobot.com/build
  • nginx root 是否仍指向源码目录(会导致 403 或页面不更新)
  • CDN / 浏览器缓存(本站已对 HTML 做了 no-cache,但仍建议用 curl 验证)

6. 回滚思路

本站以 Git 提交作为回滚来源:

cd /home/openclaw/docs.zhenrobot.com
git log --oneline --max-count=20
git checkout <commit>
npm run build && npm run verify:public
sudo rsync -a build/ /www/wwwroot/docs.zhenrobot.com/build/

回滚完成后再切回主分支继续迭代:

git checkout main

7. 变更时必须同步更新本文件

  • 发布链(构建命令、同步目标目录、nginx root)发生变化
  • 验证脚本(scripts/verify-public-docs.sh)新增或收紧关键检查项
  • 文档的对外入口路径发生变化(例如 sidebar 结构调整)

推荐阅读

相关脚本