Files
cmautobuy/docs/task/188-admin打包部署最新版本.md
T
2026-08-12 16:36:27 +08:00

3.1 KiB
Raw Blame History

188 Admin:打包部署最新版本 6ea45b7 到生产服务器

背景与目标

把提交 6ea45b7 对应的最新 Admin 代码构建并发布到生产服务器,通过 https://buy.833729.com 提供服务,同时保留生产配置、数据、发布前数据库备份和 上一版本回退能力。

最终方案

  • 使用固定 Go 1.23.0 验证代码并构建 Linux amd64、CGO 关闭的单文件二进制。
  • 发布前通过生产环境文件读取业务数据库连接参数,使用单事务逻辑备份,并校验 gzip 完整性和文件权限。
  • 上传到独立目录 /opt/cmautobuy/releases/6ea45b7/,复用稳定路径下的 config.yaml 和 data。
  • 停止 systemd 服务后原子切换稳定执行链接;新版本启动或本机登录页健康检查失败 时自动切回上一版本。
  • 不执行真实顺运宝同步、采集任务或采购下单。

改了哪些文件

  • 本地构建产物:admin/.deploy/cmautobuy-admin-6ea45b7(Git 忽略)。
  • 生产发布目录:/opt/cmautobuy/releases/6ea45b7/。
  • 生产稳定执行链接:/opt/cmautobuy/cmautobuy-admin 已指向本次 release。
  • 生产备份:/opt/cmautobuy/backups/autobuy-before-188-20260812T083428Z.sql.gz。
  • 本归档文档:docs/task/188-admin打包部署最新版本.md。

验收结果

验收项 结果
固定 Go 1.23.0 的 go vet ./... 通过 通过
全量 go test ./... -count=1 通过 通过
Linux amd64 二进制本地与远端 SHA-256 一致 通过:f8e3bd1e813844a0fc74c7f06ed82d6cddc5e5ffe63faecf9eb4c219b0f17e17
发布前数据库备份可用且权限为 600 通过:5,039,803 字节,gzip -t 通过
systemd 服务 active/enabled,运行目标正确 通过:/opt/cmautobuy/releases/6ea45b7/cmautobuy-admin
Admin 监听生产约定地址 通过:127.0.0.1:18080
数据库 schema 版本正常 通过:v13
本机根路径、登录页及公网登录页正常 通过:303、200、200
启动日志无迁移失败、panic 或 fatal 通过
上一版本可以回退 通过:保留 /opt/cmautobuy/releases/7e2d33c/cmautobuy-admin

测试

  • 执行命令:固定 GOTOOLCHAIN=go1.23.0 的 go vet ./...、 go test ./... -count=1、Linux amd64 go build;生产执行 mysqldump、 gzip -t、sha256sum、systemctl、ss、schema 查询及本机/公网 curl 健康检查。
  • 结果:全部 Go 包通过;备份和二进制校验通过;线上服务 active/enabled;schema v13; 本机根路径 303、登录页 200;服务器和外部网络访问公网登录页均为 200;启动后错误日志计数为 0。
  • 未验证到的部分:没有使用生产账号登录后逐页进行浏览器人工功能验收;没有发起 真实顺运宝同步、采集或采购任务。