Admin:部署顺运宝工具条压缩版本到生产服务器 #220

Closed
opened 2026-08-13 15:31:36 +08:00 by ila · 1 comment
Owner

基本信息

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 / Admin MVP 后续优化
  • 阶段:生产部署

要解决什么

将已完成并归档的 #219 顺运宝工具条压缩版本发布到生产服务器,让线上页面使用固定提交 a14c2bf 对应的最新 Admin 代码。

做什么 / 不做什么

  • 做:从固定提交 a14c2bf 的独立 worktree 执行 Go 1.23.0 构建、测试、静态检查和 Linux amd64 打包。
  • 做:发布前确认当前版本、服务状态、数据库 schema 和 SYB 同步运行状态,创建可验证的 MySQL 备份。
  • 做:上传到独立 release 目录,核对 SHA-256,原子切换稳定链接并启动服务。
  • 做:验证 systemd、本机与公网 HTTP、数据库 schema、监听端口和本次静态样式标识。
  • 不做:不修改配置和凭据,不执行数据库迁移,不触发同步、采集、采购或其他业务操作。

怎么做

  1. 固定目标提交 a14c2bf,在仓库外创建 detached worktree,防止本地未提交文件混入发布物。
  2. 使用 Go 1.23.0 完成 go build ./...、go test ./... -count=1、go vet ./...,然后交叉编译 Linux amd64 二进制。
  3. 生产预检连续确认没有运行中的 SYB 同步;记录当前 release 和 schema v19,并创建压缩数据库备份。
  4. 上传二进制到 /opt/cmautobuy/releases/<提交短哈希>/,复用稳定配置和数据目录;核对本地与远端 SHA-256。
  5. 停止服务、原子切换 /opt/cmautobuy/cmautobuy-admin、重新启动;失败时自动切回部署前 release。
  6. 验证本机和公网登录页、服务状态、schema v19、端口和 CSS 中 .syb-toolbar 标识。

验收标准

  • 发布物只来自固定提交 a14c2bf,Go 1.23.0 构建、测试和 vet 全部通过。
  • 发布前没有运行中的 SYB 同步,并生成可读取、可校验的数据库备份。
  • 远端发布物 SHA-256 与本地一致,稳定链接指向新的独立 release。
  • cmautobuy-admin.service 为 active/enabled,数据库 schema 仍为 v19。
  • 本机和公网根路径、登录页响应符合预期,18080 端口正常监听。
  • 线上 CSS 包含本次 .syb-toolbar 紧凑布局标识。
  • 部署前 release 保留,切换失败可回退。

怎么验证

$env:GOTOOLCHAIN='go1.23.0'
go build ./...
go test ./... -count=1
go vet ./...

生产侧检查 systemd、HTTP 状态码、监听端口、schema 版本、release 链接、文件哈希和静态资源标识。

风险和回退

  • 发布切换会造成短暂重启;发布前检查运行中的同步任务,避免中断同步。
  • 虽然本次无 schema 变化,仍保留发布前数据库备份和旧 release。
  • 新服务启动或健康检查失败时,自动把稳定链接切回部署前 release 并重新启动。

实施记录

  • 状态:已验收
  • 固定发布提交:a14c2bf
  • 生产 release:/opt/cmautobuy/releases/a14c2bf/cmautobuy-admin
  • 部署前 release:/opt/cmautobuy/releases/5bf6764/cmautobuy-admin
  • 生产 schema:v19(无变化)
  • 数据库备份:/opt/cmautobuy/backups/autobuy-before-220-20260813T073351Z.sql.gz
  • 验证:服务 active/enabled;本机和公网根路径 303、登录页 200;18080 正常监听;启动错误计数 0;公网 CSS 含 .syb-toolbar 与 .syb-date-separator。
  • 归档提交:cb6fd5e
  • 归档文档:docs/task/220-部署顺运宝工具条压缩版本.md
  • 未执行生产业务操作,未实际触发回退;旧 release 已保留。
## 基本信息 - 类型:需求 - 父级大工单:#14 - 所属 MVP / 版本:#15 / Admin MVP 后续优化 - 阶段:生产部署 ## 要解决什么 将已完成并归档的 #219 顺运宝工具条压缩版本发布到生产服务器,让线上页面使用固定提交 `a14c2bf` 对应的最新 Admin 代码。 ## 做什么 / 不做什么 - 做:从固定提交 `a14c2bf` 的独立 worktree 执行 Go 1.23.0 构建、测试、静态检查和 Linux amd64 打包。 - 做:发布前确认当前版本、服务状态、数据库 schema 和 SYB 同步运行状态,创建可验证的 MySQL 备份。 - 做:上传到独立 release 目录,核对 SHA-256,原子切换稳定链接并启动服务。 - 做:验证 systemd、本机与公网 HTTP、数据库 schema、监听端口和本次静态样式标识。 - 不做:不修改配置和凭据,不执行数据库迁移,不触发同步、采集、采购或其他业务操作。 ## 怎么做 1. 固定目标提交 `a14c2bf`,在仓库外创建 detached worktree,防止本地未提交文件混入发布物。 2. 使用 Go 1.23.0 完成 `go build ./...`、`go test ./... -count=1`、`go vet ./...`,然后交叉编译 Linux amd64 二进制。 3. 生产预检连续确认没有运行中的 SYB 同步;记录当前 release 和 schema v19,并创建压缩数据库备份。 4. 上传二进制到 `/opt/cmautobuy/releases/<提交短哈希>/`,复用稳定配置和数据目录;核对本地与远端 SHA-256。 5. 停止服务、原子切换 `/opt/cmautobuy/cmautobuy-admin`、重新启动;失败时自动切回部署前 release。 6. 验证本机和公网登录页、服务状态、schema v19、端口和 CSS 中 `.syb-toolbar` 标识。 ## 验收标准 - [x] 发布物只来自固定提交 `a14c2bf`,Go 1.23.0 构建、测试和 vet 全部通过。 - [x] 发布前没有运行中的 SYB 同步,并生成可读取、可校验的数据库备份。 - [x] 远端发布物 SHA-256 与本地一致,稳定链接指向新的独立 release。 - [x] `cmautobuy-admin.service` 为 active/enabled,数据库 schema 仍为 v19。 - [x] 本机和公网根路径、登录页响应符合预期,18080 端口正常监听。 - [x] 线上 CSS 包含本次 `.syb-toolbar` 紧凑布局标识。 - [x] 部署前 release 保留,切换失败可回退。 ## 怎么验证 ```powershell $env:GOTOOLCHAIN='go1.23.0' go build ./... go test ./... -count=1 go vet ./... ``` 生产侧检查 systemd、HTTP 状态码、监听端口、schema 版本、release 链接、文件哈希和静态资源标识。 ## 风险和回退 - 发布切换会造成短暂重启;发布前检查运行中的同步任务,避免中断同步。 - 虽然本次无 schema 变化,仍保留发布前数据库备份和旧 release。 - 新服务启动或健康检查失败时,自动把稳定链接切回部署前 release 并重新启动。 ## 实施记录 - 状态:已验收 - 固定发布提交:`a14c2bf` - 生产 release:`/opt/cmautobuy/releases/a14c2bf/cmautobuy-admin` - 部署前 release:`/opt/cmautobuy/releases/5bf6764/cmautobuy-admin` - 生产 schema:v19(无变化) - 数据库备份:`/opt/cmautobuy/backups/autobuy-before-220-20260813T073351Z.sql.gz` - 验证:服务 active/enabled;本机和公网根路径 303、登录页 200;18080 正常监听;启动错误计数 0;公网 CSS 含 `.syb-toolbar` 与 `.syb-date-separator`。 - 归档提交:`cb6fd5e` - 归档文档:`docs/task/220-部署顺运宝工具条压缩版本.md` - 未执行生产业务操作,未实际触发回退;旧 release 已保留。
Author
Owner

用户于 2026-08-13 明确验收通过。工单已完成归档,现关闭工单。

用户于 2026-08-13 明确验收通过。工单已完成归档,现关闭工单。
ila closed this issue 2026-08-13 15:57:10 +08:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#220