docs(claude): 部署流程改CI/CD自动为主(push触发test→nas-smoke→vps)+手动promote备用
CI/CD / test (push) Successful in 11s
CI/CD / nas-smoke (push) Successful in 4s
CI/CD / vps (push) Successful in 16s

This commit is contained in:
2026-07-30 22:36:17 +08:00
parent 22841e63d6
commit 907894e9ce
+21 -7
View File
@@ -136,13 +136,27 @@ NAS 上用于本项目部署的目录有两个(容器挂载源):
- A 股数据:`/volume1/stock/A股数据/``/volume1/stock/minute_kline/`
- 回测结果库:`/volume1/stock/sanguo_vnpy/data/backtest_results.db`Phase 2config/backtest.yaml 配置)
### 部署流程(开发 → 安装 → 运行
1. 本机改代码(`~/.openclaw/sanguo_projects/sanguo_vnpy_v2` = `/Users/chufeng/.openclaw/...`
2. rsync 到 NAS 安装目录
```
rsync -avz -e ssh --exclude='.git' --exclude='vnpy_v4.4.0' --exclude='__pycache__' --exclude='.superpowers' --exclude='docs' --exclude='tests/data' ./ sanguo-nas:/volume1/homes/admin/.sanguo_projects/sanguo_vnpy_v2/
```
3. 容器 `sanguo_vnpy_v2` 挂载安装目录为 `/app`bind-mount),代码改完即生效;若需重载进程 `docker restart sanguo_vnpy_v2`
### 部署流程(CI/CD 自动为主,所有开发 session 必读
**默认走 CI/CD 自动部署**:改完代码 `git push origin master` → Gitea Actions 自动跑
```
test(pytest 数据层) → nas-smoke(NAS 副本 dbbardata) → vps(promote 到 NAS+VPS + verify_unified_e2e 真数据验证)
```
全绿 = 代码已自动上 NAS test + VPS prod**无需手动 rsync/scp**。
- **看 CI 结果**Gitea → `sanguo/sanguo_vnpy_v2` → Actions`http://192.168.2.154:3000/sanguo/sanguo_vnpy_v2/actions`),🟢已部署 / 🔴点 run 看 log 修完重 push
- **workflow**`.gitea/workflows/ci-cd.yml`**详细流程 + 各角色速查**`docs/session-environment-guide.md`
- **限制**pytest 只覆盖 `tests/data_platform`(数据层冒烟,api/live 缺 fastapi 靠各 session 自测);runner 是 Mac(睡眠时 CI 不跑);vps 全自动无 gatepush 即上 prod
**手动 promoteCI 没跑/Mac 睡眠/应急/只改配置想立即推时用)**
```bash
bash scripts/nas_sync/promote.sh # 全量推 NAS+VPS
bash scripts/nas_sync/promote.sh --module sanguo_portfolio # 单模块
```
手动晋升/rollback/数据铁律 runbook`docs/three-env-code-promote.md`
**reload**:VPS 无常驻 web,代码下次 schtask/回测启动自动生效;立即让采集生效:
`ssh 49.232.102.198 'schtasks /end sanguo-bs-eod && schtasks /run sanguo-bs-eod'`
### NAS SSH / Docker 访问
- SSH`ssh sanguo-nas`key 免密,`~/.ssh/config` 配置;不用密码 sshpass