docs: 归档部署任务 #288

This commit is contained in:
chengma
2026-08-21 10:59:46 +08:00
parent add296cf76
commit de10fb6cf4
@@ -0,0 +1,61 @@
# 288 Admin:部署 AI 规格候选上限 150 条到生产
- 类型:部署
- 父级大工单:#14
- 所属 MVP / 版本:#199 / Admin AI 规格批量匹配
- 状态:已完成,待用户验收
- 日期:2026-08-21
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/288
## 背景与目标
将 #284 的单条 AI 规格匹配合格候选上限从 100 条放大至 150 条的版本发布到生产。生产原本
运行 `e3cd5c7`,本次目标代码基线为 `add296c`。
## 最终方案
- 从固定提交 `add296c` 构建 Linux amd64 静态二进制;本地、上传和最终稳定链接的
SHA-256 均为 `2a82c632e046b57c818a839a10284c1d3c251b697dd9a94de8e4cdf751b5a625`。
- 切换前确认 schema 为 v29,SYB、目录导入和 AI 匹配活动任务均为 0;使用
`mysqldump --no-defaults --no-tablespaces` 创建逻辑备份并通过 gzip 校验。
- 新二进制先在 `127.0.0.1:18081` 预检;正式切换后最多等待 15 秒,确认登录页监听后
执行 systemd、端口、Nginx、本机和公网 HTTPS 检查。
- 发布到 `/opt/cmautobuy/releases/add296c/`,复用 release 外的 `config.yaml` 和 `data`
链接,原子切换稳定链接;上一 release `e3cd5c7` 保留可回退。
- 没有修改 AI 服务商、密钥、schema 或业务数据;启用 AI 超时保持 66 秒,未执行真实
AI 匹配、映射、采购或其他业务写入。
## 改了哪些
- `/opt/cmautobuy/releases/add296c/cmautobuy-admin`:新增并启用生产二进制。
- `/opt/cmautobuy/cmautobuy-admin`:稳定链接从 `e3cd5c7` 原子切换到 `add296c`。
- `/opt/cmautobuy/backups/autobuy-before-288-20260821T025728Z-notablespaces.sql.gz`:部署前
逻辑备份,86,254,976 字节,SHA-256 为
`c3728e6a8dd67b9cb5fc089e8f0ee65f8488ca2701d101a96f5fb3d923228460`,权限 0600。
## 验收结果
| 验收标准 | 结果 |
|---|---|
| 发布物来自固定提交,构建、上传和安装 SHA-256 一致 | 通过 |
| 切换前后台作业为空,逻辑备份可通过 gzip 校验 | 通过 |
| 独立端口预检、systemd、Nginx 和端口监听正常 | 通过 |
| 本机和公网 HTTPS 根路径、登录页正常 | 通过 |
| 启用 AI 超时保持 66,未修改配置或业务数据 | 通过 |
| 上一 release `e3cd5c7` 保留,可切回 | 通过 |
## 测试
- 执行的命令:在 `admin/` 以 Go 1.23.0 执行 `go test ./... -count=1`、`go build ./...`、
`go vet ./...`;以 `GOOS=linux GOARCH=amd64 CGO_ENABLED=0` 构建发布物。服务器执行
SHA-256、逻辑备份、独立端口预检、schema 与活动任务查询、systemd、端口监听和
`nginx -t`;本机执行公网 HTTPS 检查。
- 结果:服务运行 `add296c`,schema 为 v29,启用 AI 超时为 66;本机和公网根路径为
303、登录页为 200;启动后没有 fatal、panic 或迁移失败日志。
- **没验证到的部分**:未用真实 GPT-5.5 对 150 个候选执行端到端匹配;未发起真实 AI、
映射、采购或其他业务写入;未实际执行回退或恢复备份。
## 相关提交
- `b509878` feat: 放大 AI 规格候选上限至150条 (#284)
- `add296c` docs: 更新任务 #284 归档(本次生产目标代码基线)