3.2 KiB
3.2 KiB
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:本次生产部署代码基线。