diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..eac35356 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,73 @@ +# 测试服发布规则 + +测试服发布必须严格遵循:少假设、小发布、强验证、可回滚。 + +Codex 执行发布时必须按以下顺序,不允许跳步: + +1. 先执行 `git status --short`,说明改动范围。 +2. 只处理本次相关 tracked diff,不提交 logs、截图、bundle、临时文件或无关改动。 +3. 执行本次改动相关的最小必要测试。 +4. 执行构建检查,例如 `npm run build`。 +5. 如有既有检查失败,只记录,不修无关问题。 +6. 创建干净 commit。 +7. commit 信息必须包含: + - 为什么改 + - 验证了什么 + - 未验证什么 + - 风险范围 + - 回滚注意事项 +8. 测试服只部署指定 commit SHA。 +9. 部署前记录测试服旧 SHA。 +10. 测试服执行: + - `git fetch` + - `git checkout <目标 SHA>` + - 按锁文件安装依赖 + - 构建 + - 重启服务 + - 记录新 SHA +11. 做 smoke test。 +12. 检查服务日志。 +13. 失败立即回滚旧 SHA。 + +最终输出必须包含: +- 发布 SHA +- 旧 SHA / 回滚点 +- 变更范围 +- 执行的测试和构建结果 +- 测试服验收结果 +- 未验证项和剩余风险 + + +## 测试服发布报告 + +- 发布 SHA: +- 旧 SHA / 回滚点: +- 变更范围: +- 本地测试结果: +- 构建结果: +- 测试服部署结果: +- Smoke test 结果: +- 日志检查结果: +- 未验证项: +- 剩余风险: +- 回滚方式: + + +## 测试服部署 + +测试服 SSH: + +ssh root@101.42.99.35 + +项目目录: + +/opt/popiart-canvas + +禁止行为: + +- 禁止 scp 上传源码 +- 禁止 rsync 本地目录 +- 禁止在测试服直接修改代码 +- 禁止部署 dirty workspace +- 禁止使用 latest/tag 代替 SHA +- 禁止自动修复无关问题