Files
inp2p/docs/deploy-version-check.md
T

50 lines
1.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# INP2P 部署校验规范(强制)
> 目标:每次新部署后,必须自动校验“服务端/客户端版本一致 + 无残留旧进程/旧二进制”。
## 1. 版本控制
- 项目版本源:`VERSION`
- 构建时自动注入:`Version / GitCommit / BuildTime / GoVersion`
- 约束:`bin/inp2ps` 与 `bin/inp2pc` 的 `-version` 输出必须等于 `VERSION`。
## 2. 校验脚本
- 脚本:`scripts/deploy-check.sh`
- Make 入口:`make verify-deploy`
脚本会检查:
1) 二进制版本是否匹配 `VERSION`
2) `inp2ps.service` 是否 active
3) `inp2ps.service` 的主进程是否运行自 `bin/inp2ps`
4) 是否存在残留 inp2p 进程(除当前服务主 PID 外)
5) 是否存在残留旧二进制(`*.old*/*.new*`、根目录历史二进制)
输出:
- 报告目录:`run/deploy-check/`
- 报告文件:`deploy-check-YYYYmmdd-HHMMSS.txt`
- 失败时脚本返回非 0(可用于 CI/发布门禁)
## 3. 标准发布流程(建议)
```bash
cd /root/.openclaw/workspace/inp2p
# 1) 编译(自动读取 VERSION)
make build
# 2) 部署(替换后重启服务)
systemctl restart inp2ps.service
# 3) 强制校验(必须通过)
make verify-deploy
```
## 4. 失败处理原则
- 任一校验 FAIL:视为发布未完成
- 必须先清理残留再进入可用状态
- 建议在变更记录中附上本次校验报告路径