auto-sync: 2026-06-06 08:10:56
This commit is contained in:
@@ -450,6 +450,33 @@ P1 必须先配好以下工具,否则机械门控跑不起来:
|
||||
| `pytest-cov` | 覆盖率 | `pip install pytest-cov` |
|
||||
| `act-runner` | CI 执行器 | 下载 Go 二进制 |
|
||||
|
||||
### 8.5 CI 隔离测试环境(E2E 安全运行)
|
||||
|
||||
E2E 自动跑的核心前提:**不污染生产环境**。通过 CI 隔离环境实现:
|
||||
|
||||
```
|
||||
CI 临时测试环境(每次 CI 自动创建)
|
||||
├─ 独立 venv(每次 CI 新建)
|
||||
├─ 临时 SQLite(tmpdir,跑完销毁)
|
||||
├─ 临时端口(8084,不和生产 8083 冲突)
|
||||
├─ 启动 FastAPI 服务 → 跑 E2E → 关闭
|
||||
└─ 跑完整个 tmpdir 删除,不留痕迹
|
||||
|
||||
生产环境(~/.sanguo_projects/)完全不受影响
|
||||
```
|
||||
|
||||
**效果**:E2E 可以在每次 PR 到 main 时自动跑,无需担心污染生产数据或影响生产服务。
|
||||
|
||||
**环境总结**:
|
||||
|
||||
| 环境 | 位置 | 用途 | 生命周期 |
|
||||
|------|------|------|---------|
|
||||
| 开发 | `~/.openclaw/sanguo_projects/` | 改代码、本地调试 | 常驻 |
|
||||
| CI 测试 | CI runner 临时目录 | lint/unit/integration/E2E | CI 跑完即销毁 |
|
||||
| 生产 | `~/.sanguo_projects/` | 正式运行服务 | 常驻 |
|
||||
|
||||
**schema 变更检查**(可选):CI 中加一步对比数据库 schema 变更,检测破坏性操作(删字段/改类型)。检测到则提 Issue 人工确认。可通过配置开关强制绕过。
|
||||
|
||||
---
|
||||
|
||||
## §9. 完整开发流程(端到端)
|
||||
@@ -490,8 +517,8 @@ P1 必须先配好以下工具,否则机械门控跑不起来:
|
||||
└─ 部署失败 → 自动回滚 → 人工介入
|
||||
|
||||
7. 验证
|
||||
└─ 日常迭代:标准门控已覆盖
|
||||
└─ E2E:用户手动触发(不自动跑)
|
||||
└─ CI 隔离环境中自动跑 E2E(不污染生产)
|
||||
└─ 用户测试(手动)
|
||||
└─ 发现问题 → 新开 Issue(经 Review 后再开发)
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user