Files
inquiry_robot/deploy/CUTOVER-TO-PROD.md
T

3.9 KiB
Raw Blame History

切流目标:新系统取代 C:\yutongda(方案 B)

决策日期:2026-09-12。
运行根(新正式):E:\wwwroot(admin\current / agent\current)。
现网旧根:C:\yutongda(切流完成前禁止删、禁止改其 ops 指针)。

对照合同:prompt/13-环境对照.md。本文件只写执行顺序与禁区。

目标态(切完之后)

项 值
YTD_ENV prod
运行根 E:\wwwroot
主账 新 Java 主账(非 Jeecg),端口按切流日约定(可继续 8180 或改回 8080)
智能体 HTTP 合并进程(现 8910,切流后可改挂 8810 或保持 8910 只改 Nginx)
Worker 唯一后台进程
AIBOT 仅新桥(现规划 8913);旧 8813 必须先停
域名 / 企微 仍为 ai.ytd-scm.com / 1000010(URL 不用改)
MySQL / PG / Redis / 桶 正式列取值;新主账不复用 Jeecg 表结构,用新库或迁完再切库名

当前阶段(切流前)

已做:Nginx 回调/inquiry-form/agent/health → 8910;静态后台 → E:\wwwroot\admin\current。
未做:新主账 8180、Worker、真库、Graph/Redis、AIBOT 切流。

切流前数据必须继续隔离(新系统资源名:inquiry_robot / inquiry_robot_runtime / inquiry_robot: / 桶 inquiry_robot),禁止新进程写 jeecg-boot / ytd_runtime / ytd:prod: / ytd-inquiry。
不要再用 ytd_test* 命名。

阶段清单

P0 — 新正式底座(仍隔离库)

  1. 服务器安装 JDK 17+(已装:E:\wwwroot\tools\jdk-17,Microsoft OpenJDK 17.0.16;环境变量 JDK17_HOME。旧 Jeecg 仍用 C:\yutongda\tools\jdk8)。
  2. 开通/确认新系统库账号:MySQL inquiry_robot、PG inquiry_robot_runtime、Redis db1 前缀 inquiry_robot:、桶 inquiry-robot(勿指 jeecg-boot)。
    • Redis / MinIO 已在应用机配通;MySQL/PG 建库 SQL 在 E:\wwwroot\ops\sql\,需数据机管理员执行(现网 ytd_jeecg / ytd_runtime 无建库权限)。
  3. 部署并常驻:主账 8180、智能体 8910、Worker;后台静态已在 admin\current。
  4. 主账:工单六态 + transition API;智能体改打 BIZ_API_BASE_URL=http://127.0.0.1:8180。
  5. Redis 队列/幂等、PG checkpoint 接通。
  6. 业务验收:建单 → 补问 → 报价 → 六态,不依赖旧 Jeecg 写路径。

P1 — 切流日(取代现网进程)

须单独批准。失败则按现网流程回滚 ai.conf 与进程。

  1. 备份:ai.conf、E:\wwwroot\ops\active-release.json、现网 C:\yutongda\ops\active-release*.json。
  2. .env 改为 YTD_ENV=prod;库/Redis/桶继续用 inquiry_robot*(或甲方最终正式名);去掉告警 [test]。
  3. Nginx:/jeecgboot 指到新主账(勿再指旧 8080,除非回滚)。
  4. 停现网:旧智能体相关(8810 等)、先停 8813,再起新 AIBOT 8913 并 WECOM_AIBOT_ENABLED=true。
  5. 确认 8080 旧 Jeecg:按产品决定停或只读保留;新后台只打新主账。
  6. 冒烟:企微收发、后台登录、建单、六态、健康检查。
  7. 观察期后再处理旧目录归档(不要当天直接删 C:\yutongda)。

P2 — 收尾

  • TMS lock/release 按产品打开。
  • 旧 release / 旧库只读归档。
  • 发布脚本只写 E:\wwwroot,不再用现网累计发布器切活动指针。

硬禁止(直到 P1 批准)

  • 新主账 / 智能体连接 jeecg-boot、ytd_runtime、Redis /0 + ytd:prod:、桶 ytd-inquiry
  • 与现网 同时 连接同一 AIBOT 长连接
  • 删除或改写 C:\yutongda\ops 活动指针
  • 把半成品 YTD_ENV=prod 却仍混用旧现网库密钥

回滚(P1 失败)

  1. ai.conf 恢复切流前备份;硬重启 Nginx(避免 BOM / 卡死的 Restart-Service)。
  2. 停 E:\wwwroot 新进程中已接管的部分;拉起现网对应进程。
  3. 确认 https://ai.ytd-scm.com/wecom/callback 回到现网行为。