chore: Phase 4 收尾——部署工件齐备,项目四阶段完成

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-14 13:45:14 +08:00
parent 7cdb4fc970
commit dcf9d4b54c
3 changed files with 47 additions and 20 deletions
+13 -4
View File
@@ -1,7 +1,8 @@
# all-kefu 生产部署手册(含切换 runbook)
> 对应工件:`Dockerfile`(两阶段构建)、`docker-compose.yml`(`name: all-kefu`)、
> `deploy/openresty-all-kefu.conf.template`(反代模板)、`scripts/{bootstrap_platform,import_legacy,archive}.py`。
> `deploy/openresty-all-kefu.conf.template`(反代模板)、
> `scripts/{bootstrap_platform,import_legacy,archive,breach_rate}.py`。
> 本文是 **runbook 工件**(Phase 4 交付),不是已执行实录——首次实际部署到阿里云前,
> 按用户全局部署 SOP(`~/.claude/memory/general-deployment-sop.md` + 全局 CLAUDE.md 规程)
> 与用户确认环境与流程后再动手。
@@ -303,9 +304,14 @@ ssh -L 8018:127.0.0.1:8018 root@47.254.176.10 # 隧道保持
- [ ] `/health` 无 degraded(有 = 对应租户库问题,立刻查)
- [ ] 后台"统计 → 推送健康"成功率正常(与切换前老平台口径对比)
- [ ] 询盘邮件正常到达(单邮件通道,SMTP 失败不自动补发,头几天盯收件)
- [ ] **breach_rate 双向偏差观察**(沿用 jc 观察法):脚本在老仓
`ai-kefu-jc/scripts/breach_rate.py`(**本仓未随迁**——观察期从老仓取用,
对 `tenants/<slug>.db` 直跑;漏放/误杀残差与 jc 期基线对比)
- [ ] **breach_rate 双向偏差观察**(沿用 jc 观察法):脚本**已随迁**至本仓
`scripts/breach_rate.py`(多租户适配:`--tenant` 必填,经 platform.db
门禁后只读打开 `tenants/<slug>.db`,默认路径与容器挂载对齐,零额外参数):
```bash
docker compose run --rm app python scripts/breach_rate.py --tenant jiancai
# 容器已起时也可 exec 形态:docker compose exec app python scripts/breach_rate.py --tenant jiancai
```
(漏放/误杀残差与 jc 期基线对比;误杀侧不在脚本口径,用后台会话详情人工复核)
- [ ] 磁盘与日志:`df -h`、`docker stats all-kefu-app-1 --no-stream`
(内存应显著低于 768m 限额)、`docker logs all-kefu-app-1 --tail 100`
@@ -411,6 +417,9 @@ curl -s http://127.0.0.1:8018/health
`docker compose run --rm app python scripts/bootstrap_platform.py` 幂等:
已存在 slug 的租户跳过、超管空表才建——发版后跑一遍无副作用(也可不跑,
lifespan 启动同样保证 schema/超管就绪,两者同一套幂等实现)。
注意:**容器运行中跑 bootstrap 不会热刷新内存租户注册表**——`/health`
仍显示旧租户列表,重启容器(`docker compose restart app`)后才反映;
首次部署按 §2 顺序(bootstrap 先于 up)则无此问题。
## 7. 踩坑实录(排查手册——每条都是真事故/真审查发现)