fix(deploy): 部署脚本内嵌 nginx 配置,运行时覆盖容器内 upstream #1647
Merged
auto-approve-bot
merged 1 commits from 2026-09-03 15:53:28 +08:00
fix/nginx-volume-in-deploy into develop
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
9ad0164348 |
fix(deploy): 部署脚本内嵌 nginx 配置,运行时覆盖容器内 upstream
CI/CD Pipeline / Dedup Check - skip PR tests when covered by push pipeline (pull_request) Successful in 2s
CI/CD Pipeline / Check push changed paths (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 3s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 1m16s
CI/CD Pipeline / Frontend Lint (pull_request) Has been skipped
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 29s
CI/CD Pipeline / PR Build Web Image (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 23s
CI/CD Pipeline / Validate - Python (mypy + alembic) (pull_request) Successful in 2m16s
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 2m28s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m46s
CI/CD Pipeline / Retag skipped Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Retag skipped Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m12s
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Validate - Style (pull_request) Successful in 3m25s
AI Code Review / AI Code Review (pull_request) Failing after 5m45s
CI/CD Pipeline / Validate - Security (pull_request) Successful in 7m19s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 10m1s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / CI Gate (pull_request) Successful in 1s
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 8s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 27s
根因:compose.yml 的 volume mount 不生效,因为 ci_staging_deploy.sh 使用 docker run 直接启动容器,不走 docker compose。 Build Staging Web Image 被 skip 后 retag 旧镜像,镜像内 nginx 配置 指向 production upstream,导致 staging web 容器 502。 修复:在部署脚本中内嵌 nginx 配置(staging/production 各一份), 部署时写入服务器本地文件,docker run 时 volume mount 到容器内 /etc/nginx/conf.d/default.conf,作为运行时安全网覆盖镜像内的配置。 - ci_staging_deploy.sh: 写入 nginx-staging.conf + volume mount - ci_production_deploy.sh: 写入 nginx-production.conf + volume mount - 回滚逻辑同步修改,确保回滚时也使用正确配置 |