docs: record production backend deployment pass

This commit is contained in:
2026-05-16 13:27:29 +08:00
parent 8df03f857d
commit 399811ec5e
@@ -1859,3 +1859,48 @@
- 正式上线前完整生产门禁演练已经通过。
- Git 在演练前为 `main...origin/main 0/0`,工作区干净。
- 当前还没有真正执行生产部署动作;下一步如果继续,就是进入真实生产部署或先生成上线发布记录。
## 2026-05-16 真实生产后端部署与发布门禁闭环
### 本轮完成项
- 已进入真实生产部署链路,不再停留在演练:
- 前端 Docker 部署已执行,远程前端替换、构建和重启完成。
- 首次前端部署后的发布门禁失败,根因不是前端部署动作失败,而是生产后端仍是旧版本,`/api/v1/system/readiness` 缺少新前端需要的 P0 / pilot 字段,导致 `/pilot-readiness` 页面运行时报错。
- 已补齐独立后端 Docker 部署入口:
- `scripts/deploy-backend-docker.ps1`
- 部署包文档和正式生产部署清单已补充“后端 API 契约变更时先发后端、再发前端”的顺序说明。
- 已修复后端迁移中的 PostgreSQL JSON 绑定问题:
- `backend/migrations/versions/20260512_0016_create_contract_template_versions.py`
- 解决 `contract_template_versions.variables_json` 插入时 PostgreSQL 无法适配 dict/list 的问题。
- 已修复生产回归中发现的治理版本外键删除问题:
- `backend/app/services/review_rule_service.py`
- `backend/app/services/template_service.py`
- `backend/app/repositories/review_rule_version_repository.py`
- `backend/app/repositories/contract_template_version_repository.py`
- 删除规则或模板前,先删除对应版本快照,避免 PostgreSQL 外键导致 `DELETE /review-rules/{id}` 和 `DELETE /templates/{id}` 返回 500。
### 本轮验证
- 本地后端验证:
- `backend\.venv\Scripts\python.exe -m py_compile app\services\review_rule_service.py app\services\template_service.py app\repositories\review_rule_version_repository.py app\repositories\contract_template_version_repository.py`
- `backend\.venv\Scripts\python.exe -m unittest tests.test_review_rule_service tests.test_template_service tests.test_review_rules_api tests.test_templates_api`
- 结果:`40 tests OK`
- 真实后端 Docker 部署:
- 命令:`powershell -NoProfile -ExecutionPolicy Bypass -File scripts\deploy-backend-docker.ps1 -IncludeBackupDrill`
- 产物:`project-docs/qa-artifacts/phase7-backend-docker-deploy/2026-05-16T13-19-01/backend-docker-deploy-summary.md`
- 结果:`PHASE7_BACKEND_DOCKER_DEPLOY_PASS`
- 远程备份:`/opt/ai-contract-platform/backups/phase7-backend-deploy/backend-before-2026-05-16T13-19-01.tgz`
- 部署后生产发布门禁:
- 产物:`project-docs/qa-artifacts/phase7-backend-docker-deploy/2026-05-16T13-19-01/release-gate/2026-05-16T13-19-17/release-gate-summary.md`
- 结果:`Status=PASS`
- 通过项:
- `dependency governance=PASS`
- `production health=PASS`
- `security baseline=PASS`
- `production regression=PASS`
- `backup drill=PASS`
### 当前状态
- 真实生产后端已经部署到 `192.168.3.90`,容器已重建并通过部署后发布门禁。
- 前端部署后曾出现的 `/pilot-readiness` 契约不一致问题已随后端部署消除。
- Phase 1 生产回归中暴露的规则/模板删除 500 问题已修复、提交、部署并经生产回归验证通过。
- 当前没有新的生产发布阻塞项。