deploy-prod.sh
2.88 KB
-
fix(deploy): 确定性生产部署脚本 — 根治 compose "不切新镜像" 缺陷 · 87741f59
docker compose `up -d --build` 有跨版本反复复发的已知缺陷(docker/compose#9308 #9259): 镜像构建成功但运行中容器不重建(仍跑旧镜像)。本项目 2026-06-10 部署实测中招: service 容器还在旧镜像 → migrate 报 "no pending" → phone_verified 列没建。 根治思路:生产部署不依赖 compose 的 diff 启发式判定。deploy/deploy-prod.sh: git pull --ff-only → 显式 build → up -d --force-recreate → 三道硬验证 (① 容器镜像 ID == 新构建镜像 ID;② migrate exit 0 + migrate status 无 pending; ③ service health 200 + web 200),任一不过即非零退出。 README 把日常更新指到脚本,并警告勿直接 up -d --build。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
luoqi committed