docs: 归档生产部署任务 #220
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
# #220 Admin:部署顺运宝工具条压缩版本到生产服务器
|
||||
|
||||
- 类型:需求
|
||||
- 父级大工单:#14
|
||||
- 所属 MVP / 版本:#15 / Admin MVP 后续优化
|
||||
- 状态:已完成
|
||||
- 日期:2026-08-13
|
||||
- Gitea 工单:<http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/220>
|
||||
|
||||
## 背景与目标
|
||||
|
||||
把 #219 已完成的顺运宝工具条压缩版本部署到生产服务器,使公网 Admin 使用固定提交 `a14c2bf` 对应的代码,同时保留发布前版本和数据库备份以便回退。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 在仓库外使用提交 `a14c2bf` 的 detached worktree 构建,隔离主工作区已有且与本次无关的改动。
|
||||
- 使用 Go 1.23.0 完成全量构建、测试和静态检查,再交叉编译 Linux amd64 发布物。
|
||||
- 发布前连续三次确认没有运行中的顺运宝同步;schema 确认为 v19,并生成经过 gzip 和 SHA-256 校验的 MySQL 备份。
|
||||
- 将发布物安装到独立目录 `/opt/cmautobuy/releases/a14c2bf/`,核对本地、上传文件和安装文件 SHA-256 后,原子切换稳定二进制链接并重启服务。
|
||||
- 新版本健康检查失败时,部署脚本会把稳定链接切回部署前 release;本次健康检查通过,没有触发回退。
|
||||
- 未修改生产配置、凭据和数据库结构,也未触发任何同步、采集或采购业务操作。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- 生产 release:`/opt/cmautobuy/releases/a14c2bf/cmautobuy-admin`。
|
||||
- 稳定二进制链接:`/opt/cmautobuy/cmautobuy-admin` 已切换到上述 release。
|
||||
- 发布前 release:`/opt/cmautobuy/releases/5bf6764/cmautobuy-admin`,继续保留用于回退。
|
||||
- 数据库备份:`/opt/cmautobuy/backups/autobuy-before-220-20260813T073351Z.sql.gz`,权限为仅管理员可读写。
|
||||
- 本地未修改 Admin 业务代码;部署脚本为临时文件,执行完成后已清理。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 发布物只来自固定提交 `a14c2bf`,Go 1.23.0 构建、测试和 vet 全部通过 | 通过 |
|
||||
| 发布前没有运行中的 SYB 同步,并生成可读取、可校验的数据库备份 | 通过:连续三次均为 0,备份 gzip 与 SHA-256 校验通过 |
|
||||
| 远端发布物 SHA-256 与本地一致,稳定链接指向新的独立 release | 通过:SHA-256 为 `cf60221ce00462cf0fedcaf24c1491275a22165bd81e63d5cc30fdfe4975332d` |
|
||||
| Admin 服务 active/enabled,schema 仍为 v19 | 通过 |
|
||||
| 本机和公网 HTTP、18080 监听正常 | 通过:根路径 303,登录页 200,端口正常监听 |
|
||||
| 线上 CSS 包含本次顺运宝紧凑布局标识 | 通过:包含 `.syb-toolbar` 和 `.syb-date-separator` |
|
||||
| 部署前 release 保留且可以回退 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:
|
||||
- `$env:GOTOOLCHAIN='go1.23.0'; go build ./...; go test ./... -count=1; go vet ./...`
|
||||
- Linux amd64、`CGO_ENABLED=0` 的固定提交交叉编译。
|
||||
- 生产侧检查 systemd 状态、release 链接、SHA-256、schema、SYB 同步运行数、18080 监听、本机 HTTP 与启动日志。
|
||||
- 公网检查 `https://buy.833729.com/`、`https://buy.833729.com/login` 和 `/static/css/app.css`。
|
||||
- 结果:全量检查和生产健康检查全部通过;新 release 已生效,启动错误计数为 0。
|
||||
- **没验证到的部分**:未使用生产账号登录后手工操作顺运宝页面,也未触发真实同步、采集或采购;未实际执行回退,已保留旧 release 并验证自动回退路径所需目标存在。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `a14c2bf` `docs: 归档任务 #219`(本次固定发布提交)
|
||||
- `1ba5c88` `style: 压缩顺运宝工具条 (#219)`
|
||||
Reference in New Issue
Block a user