From 250998b7b9d200e85c2825dce39d3a5bfc797ae9 Mon Sep 17 00:00:00 2001 From: chengma Date: Wed, 12 Aug 2026 15:19:53 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=BD=92=E6=A1=A3=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#184?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/184-admin打包部署最新版本.md | 49 ++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 docs/task/184-admin打包部署最新版本.md diff --git a/docs/task/184-admin打包部署最新版本.md b/docs/task/184-admin打包部署最新版本.md new file mode 100644 index 0000000..effe1d7 --- /dev/null +++ b/docs/task/184-admin打包部署最新版本.md @@ -0,0 +1,49 @@ +# 184 Admin:打包并部署 #182、#183 最新版本 + +- 类型:部署 +- 父级大工单:#14 +- 所属 MVP / 版本:#15 Admin 四模块可用闭环 +- 状态:已完成 +- 日期:2026-08-12 +- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/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 amd64 `go build`;服务器执行 `sha256sum`、`gzip -t`、`systemctl is-active/is-enabled`、`journalctl`、MySQL schema 查询和 `curl` 健康检查。 +- 结果:Admin 全部 Go 包通过;线上服务 active/enabled;schema v13;本机根路径 303、登录页 200;服务器及外部网络访问公网登录页均为 200;启动后 error 日志无记录。 +- **没验证到的部分**:没有使用生产账号登录后逐页进行浏览器人工功能验收;没有发起真实顺运宝同步。 + +## 相关提交 + +- `7e2d33c` 本次生产构建基线