2.7 KiB
2.7 KiB
184 Admin:打包并部署 #182、#183 最新版本
- 类型:部署
- 父级大工单:#14
- 所属 MVP / 版本:#15 Admin 四模块可用闭环
- 状态:已完成
- 日期:2026-08-12
- Gitea 工单:#184
背景与目标
把包含 #182、#183 及此前已提交 Admin 变更的最新代码构建并发布到生产服务器,通过 https://buy.833729.com 提供服务,同时保留生产配置、数据和上一版本回退能力。
最终方案
- 以提交
7e2d33c使用固定 Go 1.23.0 构建 Linux amd64、CGO 关闭的单文件二进制。 - 发布前使用生产业务账号执行单事务逻辑备份;由于账号没有
PROCESS权限,使用--no-tablespaces排除不需要的表空间元数据,并启用管道失败检测。 - 上传到独立目录
/opt/cmautobuy/releases/7e2d33c/,复用稳定的config.yaml和data软链接。 - systemd 停止后原子切换
/opt/cmautobuy/cmautobuy-admin,启动并验证端口、日志和 HTTPS。 - 上一版本
/opt/cmautobuy/releases/aa6d812/cmautobuy-admin保留,可直接切回。
改了哪些
- 本地构建产物:
admin/.deploy/cmautobuy-admin-7e2d33c(Git 忽略)。 - 生产发布目录:
/opt/cmautobuy/releases/7e2d33c/。 - 稳定执行链接:
/opt/cmautobuy/cmautobuy-admin已指向本次 release。 - 生产备份:
/opt/cmautobuy/backups/autobuy-before-184-20260812T071739Z.sql.gz。 - 第一次备份因
mysqldump表空间权限错误而无效,已删除该次刚产生的无效文件;历史备份未修改。
验收结果
| 验收标准 | 结果 |
|---|---|
| 固定 Go 1.23.0 build/test/vet 通过 | 通过 |
| Linux amd64 二进制 SHA-256 已记录 | 通过:44208f12f022b1f3a303bea4e45ad23797f35da48acea93e2a3da2d09eae88c8 |
| 发布前备份权限 600 且 gzip 校验通过 | 通过,4,502,963 字节 |
| systemd active/enabled,启动日志无错误 | 通过 |
| 本机根路径 303、登录页 200,公网 HTTPS 登录页 200 | 通过 |
| 当前 release 正确且上一版可回退 | 通过 |
测试
- 执行的命令:固定 Go 1.23.0 的
go vet ./...、go test ./... -count=1、Linux amd64go build;服务器执行sha256sum、gzip -t、systemctl is-active/is-enabled、journalctl、MySQL schema 查询和curl健康检查。 - 结果:Admin 全部 Go 包通过;线上服务 active/enabled;schema v13;本机根路径 303、登录页 200;服务器及外部网络访问公网登录页均为 200;启动后 error 日志无记录。
- 没验证到的部分:没有使用生产账号登录后逐页进行浏览器人工功能验收;没有发起真实顺运宝同步。
相关提交
7e2d33c本次生产构建基线