来源:dev2 云机会话 · 2026-08-20 自检修订版(v2,修正 v1 的漏项与过度断言)
标注约定:【实测】= 本机命令跑出来的;【记录】= 来自项目台账,我没亲验;【推断】= 逻辑推的,可能错
【实测】两条流水线接的是不同的仓:
[settle-prod] 最新 run#7 · 分支 main · 仓库 a7b6e0a0129631e95/tongban-settlement.git ← 旧独立仓
[main] 最新 run#140 · 分支 main · 仓库 e93a7b6e0a0129631e95/doctor-ai-brain.git ← 统一仓
【实测】settle-prod 最后一次运行是 08-10 17:47(run#7),之后没再跑过。
而结算代码早已合进统一仓。
后果:结算代码合进 doctor-ai-brain 的 main,只是进了总账,
生产上的 settlement-api / settlement-web 容器不会更新。
但先看第二节的问题①,顺序可能要反过来。
【记录】台账写明:nginx 未切前把结算合入 main 会致结算全站 404,所以顺序不能反。
🔴 但具体要把 nginx 切成什么样,我不知道,也查不到 —— 这块配置在生产机上,
云机够不着。请你按实际情况定,我不瞎给方案。
⚠️ 附一条踩过的坑(与切流无关、但同属 nginx):部署链只同步配置文件、不重载 nginx。
只要发版动到 settlement/deploy/nginx-settlement.conf,部署完必须手动
nginx -t && nginx -s reload,否则配置落了盘、进程还拿旧的,等于没改。
ℹ️ 原第 3 件「微信支付授权目录」已不需要你做 —— 长官 2026-08-20 告知:
生产网址与测试环境一并配置好了。此项从前置清单移除。
(dev2 无商户平台权限,此条以长官口述为准、未自验;真正生效与否要到
chat.tongban.love 上真发起一次 JSAPI 支付才看得出来。)
【实测】结算后端文件数:
统一仓 main 上: 145 个
统一仓 test 上: 196 个
也就是说统一仓 main 上的结算代码,比 test 上少 51 个文件。
我没有独立仓的访问权限,所以答不出:
统一仓 main 的结算代码,跟现在生产正在跑的(来自独立仓 main)是不是一致?
请你确认后告诉我顺序,我不猜。
发生产工具规定必须逐个点名(--mr N),没点到的物理上不会进发布分支
—— 这是防止把别的会话未授权的功能顺带发出去。
【记录】待发范围约 #381 → #476,其中结算 25 件是 #464→#475、核心 1 件是 #476。
(这个范围来自交接件,我无法核实。)
【实测】我手上 release-pipeline-status 用的是纯只读 flow 令牌、不含 MR 权限;
Codeup 令牌在你那儿。清单请你给,我不猜。
【实测】生产 main 流水线最近 5 次全红:
run#140 FAIL 08-19 16:52 run#139 FAIL 08-19 02:15
run#138 FAIL 08-18 21:14 run#137 FAIL 08-18 20:58
run#136 FAIL 08-12 17:55
【实测】其中 run#140 的失败日志尾部:
FAILED: Multiple head revisions are present for given argument 'head'
ERROR [alembic.util.messaging] Multiple head revisions are present ...
run user script failed, exit code: 255
⚠️ 老实说:#136~#139 我只看到 FAIL 状态,没拿到失败原因
(工具只给最新一次的日志)。所以"5 次都挂在同一步"是【推断】,不是实测。
【实测】两棵迁移树的 head 数(多头就是 run#140 的直接原因):
统一仓 main 核心 migrations/versions: 68 文件 · heads 2 -> ['phase70_001','store_poster_demo_flag']
统一仓 test 核心 migrations/versions: 69 文件 · heads 3 -> [多一个 'phase66_001']
统一仓 main 结算 migrations: 14 文件 · heads 1 (干净)
统一仓 test 结算 migrations: 23 文件 · heads 1 (干净)
test 比 main 还多一个头 ⇒ 直接发过去只会更糟,不会自愈。核心那棵树我来并头。
🔴 要紧的一点:【实测】容器是 doctor-api Started / doctor-web Started
成功之后,才在迁移步挂掉的。所以网站入口一直是活的、看着没事。
【推断】数据库升级可能从 08-12 起就没成功过 —— 但我没查生产库的实际版本号,
也不排除有人手工跑过 alembic。
如果方便,请帮我查一下生产库这两个值,我好确认到底差多少:
SELECT version_num FROM alembic_version;
SELECT version_num FROM alembic_version_settlement;
(⚠️ 台账记着:健康页的 Alembic 栏有已知 bug,别拿它当准。)
云机环境 · 非验收证据。v3(08-20):微信支付授权目录经长官确认已配置,前置三件降为两件。