# 提示词:测试环境部署(同机并存) 你只部署 **测试环境**。现网继续跑。不要按现网累计发布器去切 `C:\yutongda`。现网密钥对照 `03`,进程形态见 `01`/`11`,环境对照见 `13`。 机器与现网同一台:公网 `129.211.181.80`,主机名 `10_206_0_15`,SSH `ytd_extdev_0903`,指纹见 `03`。私钥优先 `~/.ssh/id_ed25519_ytd`。出口白名单不变。不得输出私钥和 Secret。 ## 现网禁止触碰 - 目录:`C:\yutongda`、`releases\`、`ops\active-release*.json` - 端口:8080、8809、8810、8811、8813 必须保持监听 - 站点:`https://ai.ytd-scm.com` 及 `/wecom/callback`、`/inquiry-form`(Nginx 反代目标切流前不准改) - 库:`jeecg-boot`、`ytd_runtime`;Redis `ytd:prod:node01-07`;桶 `ytd-inquiry` - 企微询价应用 `1000010` 的后台设置(不要重置 Secret、不要改回调 URL) - 脚本:禁止对现网执行 `Deploy-YtdCumulativeRelease.ps1` - 禁止改 `C:\yutongda\secure\`、现网 `.env`、现网 `ai.conf` 已有 location ## 测试环境落点 | 项 | 值 | |---|---| | 运行根 | `E:\wwwroot`(`admin\current` / `agent\current`) | | 主账 | **8180** | | 智能体 HTTP | **8910**(H5 + 企微回调 + 主账唤醒,一个进程) | | AIBOT | **8913** 仅 127.0.0.1 | | Worker | 无对外端口;LibreOffice 1 槽,HTTP 类 2~3 槽 | | MySQL | 库/用户 `inquiry_robot`(数据机 `10.206.0.14:3306`,口令新开) | | PostgreSQL | 库/用户 `inquiry_robot_runtime` | | Redis | db1,前缀 `inquiry_robot:` | | MinIO | 桶 `inquiry_robot`(实例仍 9000) | 不要开 8809/8811/8812。不要 Redis 全局单例锁。Nginx 80/443、SSH 22、3306/5432/6379、9000 不要关。 `MYSQL_*` / `PG_*` / `REDIS_URL`(**db1**)/ `REDIS_KEY_PREFIX=inquiry_robot:` / `OBJECT_STORAGE_BUCKET=inquiry_robot` 完整对照见 `13`。口令新开,勿把现网 `MYSQL_PASSWORD`/`PG_PASSWORD` 写进新系统 `.env`。 ## 域名与企微(与正式相同) 测试 **不另开域名、不另申请证书、不新建企微应用、不新建智能机器人**。 从 `03` 原样抄入测试 `.env`:`WECOM_AGENT_ID=1000010`、Secret、Callback Token、EncodingAESKey、`WECOM_CALLBACK_URL=https://ai.ytd-scm.com/wecom/callback`、`INQUIRY_FORM_PUBLIC_BASE_URL=https://ai.ytd-scm.com/inquiry-form`、AIBOT BotId/Secret、运维 `1000014`。可信域名已是 `ai.ytd-scm.com`,不用再配。 **并存期:** 不要改 `ai.conf`,公网回调和 H5 仍进现网。测试用本机 `8910` 联调。`WECOM_AIBOT_ENABLED` 默认关,避免和现网 8813 抢长连接。要用企微真收消息验收新系统 = 切流(改 Nginx 反代 + 停现网 AIBOT 再起 8913),现网会暂停收询价。 ```text YTD_ENV=test WECOM_CALLBACK_URL=https://ai.ytd-scm.com/wecom/callback INQUIRY_FORM_PUBLIC_BASE_URL=https://ai.ytd-scm.com/inquiry-form BIZ_API_BASE_URL=http://127.0.0.1:8180/jeecg-boot AGENT_CALLBACK_BASE_URL=http://127.0.0.1:8910 WECOM_AIBOT_BRIDGE_URL=http://127.0.0.1:8913 WECOM_AIBOT_INGRESS_URL=http://127.0.0.1:8910/internal/aibot/inbound # 空运群发文件后马上回话:先停现网 8813,再 WECOM_AIBOT_ENABLED=true,并填 BOT_ID/SECRET。该群须先 @ 过小助手。 ``` 前端 `VITE_GLOB_API_URL=/jeecgboot`,`VITE_GLOB_DOMAIN_URL=https://ai.ytd-scm.com`。不要加 `ai-test.conf`。 ## TMS 现网 BaseURL + Client 三件套(`03`)。QUERY / 详情 / 字典照旧。空运群锁舱/释放:测服主账打开出站打真实 TMS;验收前必须先停现网锁舱,禁止两套抢舱。智能体只打测试主账 8180,不直连 TMS、不打现网 8080。 ## 库表(测试库可直接改) 开发需要加表、加字段、改字段时:**直接对 `inquiry_robot` / `inquiry_robot_runtime` 做版本化迁移**,不必先等 Task 批准。 仍须批准的:改现网库、改现网 Secret、对非测试人员发企微。测服 LOCK/RELEASE 已纳入空运群定稿,但必须现网锁舱已停。 ## 发布原则 1. 新版本写入 `E:\wwwroot\` 的 `agent\releases` / `admin\releases`,再切 `current` 联接;禁止覆盖正在跑的 current 目标目录内容(先发 release 再切联接)。 2. 用测试自己的指针;失败回指上一测试版本。 3. 先停 **测试** 侧进程再起新的;禁止停现网服务。 4. 禁止 scp 几个文件当正式发布。 5. 构建不含 `.env`、密钥、日志、用户附件、dump。 6. 健康检查 200 ≠ 业务验收。 ## 部署前必须同时成立 - 现网 8080、8810、8813 仍在听 - 本次目标是 8180/8910/8913 - 未改 `C:\yutongda\ops\` 活动指针 误停现网端口或改了现网指针:立即停手,先恢复现网,再报告。 ## 未经 Task 批准不得 - 现网与测服同时 LOCK/RELEASE(测服锁舱须现网已停;QUERY 按任务批准) - 给测试可见范围以外的人或生产客户群发企微 - 写现网库 - 改现网 Secret、防火墙、`1000010` 回调 - Git 强推 ## 汇报 Task、分支 commit、测试目录与端口、是否误碰 `C:\yutongda`(必须为否)、现网端口仍监听、TMS/企微次数、回滚点、尚未完成的企微 fresh 验收。