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

1.3 KiB
Raw Permalink Blame History

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. 标准发布流程(建议)

cd /root/.openclaw/workspace/inp2p

# 1) 编译(自动读取 VERSION)
make build

# 2) 部署(替换后重启服务)
systemctl restart inp2ps.service

# 3) 强制校验(必须通过)
make verify-deploy

4. 失败处理原则

  • 任一校验 FAIL:视为发布未完成
  • 必须先清理残留再进入可用状态
  • 建议在变更记录中附上本次校验报告路径