Files
cmautobuy/docs/task/274-admin部署档口货号匹配修复到生产.md
T
2026-08-18 17:35:47 +08:00

3.0 KiB
Raw Blame History

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

  • 类型:部署
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 / Admin 生产部署
  • 状态:已完成,待用户验收
  • 日期:2026-08-18
  • Gitea 工单:#274

背景与目标

将 #273 的档口货号中文括号和纯数字前导零匹配修复发布到生产 Admin,继续通过 https://buy.833729.com 提供服务。

最终方案

  • 从固定提交 cb7719c 建立隔离 worktree,以 Go 1.23.0 构建 Linux amd64 二进制, SHA-256 为 56fe9c9fe4897d0d347e5ed7c37bbd1b20b9d5b53fd8d11efd0cd0cbcd58c696。
  • 切换前确认档口入库码、AI 匹配和顺运宝同步活动任务均为 0;独立端口预检登录页为 200, 生产 schema 为 v29。
  • MySQL 业务账号没有 tablespace 的 PROCESS 权限,按既有兼容方式使用 mysqldump --no-tablespaces 创建完整逻辑备份并通过 gzip 校验。
  • 发布到 /opt/cmautobuy/releases/cb7719c/,复用 release 外的配置和数据链接;停止 systemd 后原子切换 /opt/cmautobuy/cmautobuy-admin,启动失败或健康检查失败会切回 7175af5。
  • 没有执行重新匹配、排队或回写档口入库码,也没有触发 SYB 同步、AI、采集、采购、下单或付款。

改了哪些

  • /opt/cmautobuy/releases/cb7719c/cmautobuy-admin:新增并启用生产二进制。
  • /opt/cmautobuy/cmautobuy-admin:稳定链接从 7175af5 原子切换到 cb7719c。
  • /opt/cmautobuy/backups/autobuy-before-274-20260818T093336Z-notablespaces.sql.gz:生产逻辑备份, 5,446,523 字节,SHA-256 为 1814f82b7cb3486dd741c10894ffdce1b4f64cf3d001f8acfec956fb16ea7dc9。

验收结果

验收标准 结果
发布物来自固定提交,构建、上传和安装 SHA-256 一致 通过
切换前后台作业为空,逻辑备份可通过 gzip 校验 通过
独立端口预检和 schema v29 自检通过 通过
systemd active/enabled,稳定链接指向新 release 通过
Nginx、本机登录页及公网 HTTPS 根路径、登录页、静态资源正常 通过
生产配置、数据和密钥未复制或输出;未触发业务写入 通过
上一 release 7175af5 保留,可切回 通过

测试

  • 执行的命令:隔离 worktree 中以 GOTOOLCHAIN=go1.23.0 构建 Linux amd64;服务器执行 SHA-256、独立端口预检、MySQL schema/活动任务查询、mysqldump --no-tablespaces、gzip -t、 systemctl、ss、nginx -t、journalctl;本机公网 HTTPS 检查。
  • 结果:服务运行 release cb7719c,登录页本机及公网均为 200;根路径 303、静态资源 200, 服务近期无 fatal、panic 或迁移失败。
  • 没验证到的部分:未登录生产页面执行重新匹配或回写;未验证档口入库码真实回写;未实际执行回退或恢复备份。

相关提交

  • 5e0cf95 fix: 兼容档口货号括号与前导零 (#273)
  • 6f20c05 fix: 阻断规格重量数字误当货号 (#273)
  • cb7719c 部署时固定代码基线