ci: enforce WEB_PORT 3000 in deploy workflow

This commit is contained in:
chengkml
2026-05-02 10:02:02 +08:00
parent 0637f53fbe
commit a4f2debabc
2 changed files with 28 additions and 21 deletions
+19
View File
@@ -32,3 +32,22 @@
- 风险与影响:
- 影响面:`api` 镜像新增 `flower` 依赖,镜像体积与构建时长略有增加。
- 当前运行中的 `api/celery-worker/celery-beat/scheduler/web` 仍为既有镜像;本次仅重建并替换了 `flower`
## Work Log - 固定 workflow WEB 端口为 30002026-05-02
- 背景:
- 发布后 `fquiz-web` 宿主机端口出现 `13000->3000`,与 Nginx 固定代理 `127.0.0.1:3000` 不一致。
- 根因是 workflow 的 `ensure_web_port_available` 在 3000 冲突时会自动回退到 13000+ 并写回 `.env`
- 本次改动(最小闭环):
- 文件:`.github/workflows/main.yml`
- 调整 `ensure_web_port_available`
- 每次部署前强制写入 `WEB_PORT=3000`(存在则覆盖,不存在则追加)。
- 移除自动回退到 `13000+` 逻辑。
-`3000` 被其它容器占用,直接输出错误并终止部署。
- 预期效果:
- workflow 部署后,`fquiz-web` 宿主机端口稳定为 `3000`,避免与 Nginx 前端代理端口漂移。
- 风险与影响:
- 若服务器上已有其他容器占用 `3000`,本次部署会失败(可预期失败),需先释放端口或手动调整冲突容器。