Files
cmautobuy/docs/task/195-admin部署最新版本a4556b4.md
T
2026-08-12 18:30:09 +08:00

67 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 195 Admin:部署最新版本 a4556b4 到生产服务器
- 工单号:#195
- 标题:Admin:部署最新版本 a4556b4 到生产服务器
- 类型:部署
- 父级大工单:#14
- 所属 MVP / 版本:#15 Admin 四模块可用闭环
- 状态:待验收
- 日期:2026-08-12
- Gitea:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/195>
## 背景与目标
把包含 #192、#193 的最新已提交 Admin 基线 `a4556b4` 部署到生产服务器,
通过 `https://buy.833729.com` 提供服务。生产部署前运行版本为 `6ea45b7`。
## 最终方案
- 主工作区存在其他未提交开发文件,因此从固定提交 `a4556b4` 建立 detached
隔离工作树,用固定 Go 1.23.0 验证并构建 Linux amd64 静态二进制。
- 部署前分三次确认生产数据库没有 `running` 状态的顺运宝同步,避免服务重启
主动中断业务任务。
- 使用生产业务账号完成单事务逻辑备份,校验 gzip、SHA-256 和权限。
- 上传到独立 release,核对本地与远端二进制哈希,复用稳定配置和数据软链接。
- systemd 停止后原子切换稳定执行链接;启动或本机登录页探测失败时自动回退
`6ea45b7`。
- 本次没有数据库迁移,schema 保持 v13。
## 改了哪些文件
- 本地忽略的构建产物:`admin/.deploy/cmautobuy-admin-a4556b4`。
- 生产发布目录:`/opt/cmautobuy/releases/a4556b4/`。
- 稳定执行链接:`/opt/cmautobuy/cmautobuy-admin` 已指向本次 release。
- 生产备份:`/opt/cmautobuy/backups/autobuy-before-195-20260812T102750Z.sql.gz`。
- 本归档文档:`docs/task/195-admin部署最新版本a4556b4.md`。
## 验收结果
| 验收项 | 结果 |
|---|---|
| 构建严格来自固定提交,不含未提交文件 | 通过:隔离 detached worktree |
| 固定 Go 1.23.0 的 vet、test 和 Linux build | 通过 |
| 切换前没有运行中的顺运宝同步 | 通过:三次检查均为 0 |
| 数据库备份权限 600 且 gzip 校验通过 | 通过:5,275,275 字节 |
| 二进制本地与远端 SHA-256 一致 | 通过:`558a419d366b135bc86af937be1b4cf9ffee07ce00f1736fbbe3372441ec5c68` |
| 当前 release 和回退 release 正确 | 通过:当前 `a4556b4`,保留 `6ea45b7` |
| systemd、监听端口、schema 和日志正常 | 通过:active/enabled,`127.0.0.1:18080`,schema v13,错误计数 0 |
| 本机和公网健康检查 | 通过:根路径 303,登录页 200,公网登录页 200 |
| 未上传凭据,未执行真实同步、采集或采购 | 通过 |
## 测试
- 执行命令:在提交 `a4556b4` 的隔离工作树使用 `GOTOOLCHAIN=go1.23.0`
执行 `go vet ./...`、`go test ./... -count=1`,再使用
`GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build`;生产执行同步状态查询、
`mysqldump`、`gzip -t`、`sha256sum`、`systemctl`、`readlink`、`ss`、schema
查询、`journalctl` 和 HTTP/HTTPS 健康检查。
- 结果:全部 Admin Go 包通过;生产启动日志显示数据库就绪和 Admin 正常启动;
systemd active/enabled;本机和公网健康检查通过。
- **未验证到的部分**:没有使用生产账号登录后逐页进行人工功能验收;没有执行
真实顺运宝同步、采集或采购任务。
## 相关提交
- `a4556b4`:本次生产部署代码基线。