From 3f5ee8303d275beaadec4c6dd9b63b8dddfeb41a Mon Sep 17 00:00:00 2001 From: chengma Date: Wed, 12 Aug 2026 16:36:27 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#188?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/188-admin打包部署最新版本.md | 61 ++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/task/188-admin打包部署最新版本.md diff --git a/docs/task/188-admin打包部署最新版本.md b/docs/task/188-admin打包部署最新版本.md new file mode 100644 index 0000000..2e4831f --- /dev/null +++ b/docs/task/188-admin打包部署最新版本.md @@ -0,0 +1,61 @@ +# 188 Admin:打包部署最新版本 6ea45b7 到生产服务器 + +- 工单号:#188 +- 标题:Admin:打包部署最新版本 6ea45b7 到生产服务器 +- 类型:部署 +- 父级大工单:#14 +- 所属 MVP / 版本:#15 Admin 四模块可用闭环 +- 状态:待验收 +- 日期:2026-08-12 +- Gitea: + +## 背景与目标 + +把提交 `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。 +- **未验证到的部分**:没有使用生产账号登录后逐页进行浏览器人工功能验收;没有发起 + 真实顺运宝同步、采集或采购任务。 +