Admin:部署档口货号匹配修复到生产 #274

Open
opened 2026-08-18 17:28:59 +08:00 by ila · 0 comments
Owner

基本信息

  • 类型:部署
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 / Admin 生产部署
  • 阶段:生产发布

要解决什么

将包含 #273 档口入库码档口货号中文括号与数字前导零匹配修复的当前 Admin 基线发布到生产服务器 185.216.248.75,继续通过 https://buy.833729.com 提供服务。

做什么 / 不做什么

  • 做:从固定 Git 提交隔离构建 Linux amd64 Admin,上传到独立 release 目录并原子切换稳定二进制链接。
  • 做:发布前检查后台作业状态并创建可恢复的 MySQL 逻辑备份;发布后核对服务、schema、Nginx、本机和公网 HTTP。
  • 做:复用 release 外的生产配置、数据和 AI 密钥。
  • 不做:不复制、输出或提交任何凭据。
  • 不做:不重新匹配、排队或回写档口入库码;不触发 SYB 同步、AI 匹配、采集、采购、下单或付款。
  • 不做:不修改生产业务数据或 MySQL schema(本次代码无迁移)。

怎么做

  • 从当前完成 #273 的提交构建,先在独立端口预检并通过既有 MySQL schema v29 自检。
  • 切换前确认档口入库码、SYB 同步和 AI 批处理没有活动作业;建立权限为 600 的生产数据库备份并核验 gzip。
  • 上传并校验二进制 SHA-256,安装到 /opt/cmautobuy/releases/<commit>/,继续链接稳定配置和数据路径。
  • 仅在预检与空闲检查均通过后停止 systemd,原子更新 /opt/cmautobuy/cmautobuy-admin,启动服务并验证回退 release 仍保留。
  • 预计修改:生产发布目录、稳定二进制链接、部署备份及本地 docs/task/ 归档;不修改业务源码。

验收标准

  • 发布物可追溯到固定 Git 提交,Linux amd64 构建与上传 SHA-256 一致。
  • 发布前活动后台作业已核对,生产 MySQL 逻辑备份创建且 gzip 校验通过。
  • 独立端口预检成功,schema v29 自检通过。
  • systemd 为 active/enabled,仅监听预期本机端口;稳定链接指向新 release。
  • Nginx 配置检查、本机根路径/登录页和公网 HTTPS 根路径/登录页/静态资源均正常。
  • 生产配置、数据和密钥未复制或输出;未触发任何业务写入动作。
  • 上一可用 release 保留,可在不回滚数据库的前提下切回。

怎么验证

  • 隔离 worktree 以 GOTOOLCHAIN=go1.23.0 执行 go test ./... -count=1、go build ./...、go vet ./...,再构建 Linux amd64 二进制。
  • 服务器执��� mysqldump、gzip -t、sha256sum、独立端口启动、schema 查询、systemctl、ss、nginx -t、journalctl 与本机 HTTP 检查。
  • 从公网检查 https://buy.833729.com/、/login 与 /static/css/app.css;不登录、不提交任何业务表单。

风险和回退

  • 风险:切换期间服务短暂不可用,或新二进制与生产 schema 不兼容。先预检和备份,预检失败不切换。
  • 回退:若启动或健康检查失败,停止服务并把稳定链接切回上一 release 后启动;本次无 schema 迁移,不需要恢复数据库备份。备份只用于独立的数据恢复场景。

实施记录

  • 状态:已完成,待用户验收。
  • 生产 release:/opt/cmautobuy/releases/cb7719c/cmautobuy-admin;稳定链接已从 7175af5 切换。
  • 发布物 SHA-256:56fe9c9fe4897d0d347e5ed7c37bbd1b20b9d5b53fd8d11efd0cd0cbcd58c696。
  • 已完成无 tablespace 逻辑备份并通过 gzip 校验;配置、数据和密钥未复制或输出。
  • 服务 active/enabled,schema v29;本机与公网登录页 HTTP 200,公网根路径 303、静态资源 200,近期无 fatal/panic/迁移失败。
  • 归档:docs/task/274-admin部署档口货号匹配修复到生产.md,提交 ff96f65。
  • 未登录、未重新匹配、未回写或修改任何生产业务数据。
## 基本信息 - 类型:部署 - 父级大工单:#14 - 所属 MVP / 版本:#15 / Admin 生产部署 - 阶段:生产发布 ## 要解决什么 将包含 #273 档口入库码档口货号中文括号与数字前导零匹配修复的当前 Admin 基线发布到生产服务器 `185.216.248.75`,继续通过 `https://buy.833729.com` 提供服务。 ## 做什么 / 不做什么 - 做:从固定 Git 提交隔离构建 Linux amd64 Admin,上传到独立 release 目录并原子切换稳定二进制链接。 - 做:发布前检查后台作业状态并创建可恢复的 MySQL 逻辑备份;发布后核对服务、schema、Nginx、本机和公网 HTTP。 - 做:复用 release 外的生产配置、数据和 AI 密钥。 - 不做:不复制、输出或提交任何凭据。 - 不做:不重新匹配、排队或回写档口入库码;不触发 SYB 同步、AI 匹配、采集、采购、下单或付款。 - 不做:不修改生产业务数据或 MySQL schema(本次代码无迁移)。 ## 怎么做 - 从当前完成 #273 的提交构建,先在独立端口预检并通过既有 MySQL schema v29 自检。 - 切换前确认档口入库码、SYB 同步和 AI 批处理没有活动作业;建立权限为 600 的生产数据库备份并核验 gzip。 - 上传并校验二进制 SHA-256,安装到 `/opt/cmautobuy/releases/<commit>/`,继续链接稳定配置和数据路径。 - 仅在预检与空闲检查均通过后停止 systemd,原子更新 `/opt/cmautobuy/cmautobuy-admin`,启动服务并验证回退 release 仍保留。 - 预计修改:生产发布目录、稳定二进制链接、部署备份及本地 `docs/task/` 归档;不修改业务源码。 ## 验收标准 - [x] 发布物可追溯到固定 Git 提交,Linux amd64 构建与上传 SHA-256 一致。 - [x] 发布前活动后台作业已核对,生产 MySQL 逻辑备份创建且 gzip 校验通过。 - [x] 独立端口预检成功,schema v29 自检通过。 - [x] systemd 为 active/enabled,仅监听预期本机端口;稳定链接指向新 release。 - [x] Nginx 配置检查、本机根路径/登录页和公网 HTTPS 根路径/登录页/静态资源均正常。 - [x] 生产配置、数据和密钥未复制或输出;未触发任何业务写入动作。 - [x] 上一可用 release 保留,可在不回滚数据库的前提下切回。 ## 怎么验证 - 隔离 worktree 以 `GOTOOLCHAIN=go1.23.0` 执行 `go test ./... -count=1`、`go build ./...`、`go vet ./...`,再构建 Linux amd64 二进制。 - 服务器执��� `mysqldump`、`gzip -t`、`sha256sum`、独立端口启动、schema 查询、`systemctl`、`ss`、`nginx -t`、`journalctl` 与本机 HTTP 检查。 - 从公网检查 `https://buy.833729.com/`、`/login` 与 `/static/css/app.css`;不登录、不提交任何业务表单。 ## 风险和回退 - 风险:切换期间服务短暂不可用,或新二进制与生产 schema 不兼容。先预检和备份,预检失败不切换。 - 回退:若启动或健康检查失败,停止服务并把稳定链接切回上一 release 后启动;本次无 schema 迁移,不需要恢复数据库备份。备份只用于独立的数据恢复场景。 ## 实施记录 - 状态:已完成,待用户验收。 - 生产 release:`/opt/cmautobuy/releases/cb7719c/cmautobuy-admin`;稳定链接已从 `7175af5` 切换。 - 发布物 SHA-256:`56fe9c9fe4897d0d347e5ed7c37bbd1b20b9d5b53fd8d11efd0cd0cbcd58c696`。 - 已完成无 tablespace 逻辑备份并通过 gzip 校验;配置、数据和密钥未复制或输出。 - 服务 active/enabled,schema v29;本机与公网登录页 HTTP 200,公网根路径 303、静态资源 200,近期无 fatal/panic/迁移失败。 - 归档:`docs/task/274-admin部署档口货号匹配修复到生产.md`,提交 `ff96f65`。 - 未登录、未重新匹配、未回写或修改任何生产业务数据。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#274