fix: wait for services during deployment
This commit is contained in:
@@ -87,6 +87,8 @@ git reset --hard origin/main
|
||||
bash tools/deploy/production-deploy.sh
|
||||
```
|
||||
|
||||
部署脚本重启 Gateway、API 和 Nginx 后,会分别对 Gateway、API 健康接口执行最多 60 秒的逐秒就绪检查。Nest 初始化、活动通道恢复或生产数据量增加可能使 API 启动超过固定数秒;发布流程不得用单次固定延时把正常慢启动误判为失败。超过 60 秒仍不健康时才终止发布,并结合 systemd journal 和发布前数据库、源码、环境备份判断回滚方式。
|
||||
|
||||
## 账号和密钥
|
||||
|
||||
- 生产管理员账号写入 `/root/cmpp-platform-admin.txt`。
|
||||
|
||||
@@ -4550,6 +4550,7 @@ npm run verify:phase8
|
||||
| TC-SIGNATURE-RETIREMENT-026 | 点击消息“抑制”,分别选择临时截止日期和永久抑制并填写原因 | 只出现平台自研弹窗;临时模式要求未来截止日期,永久模式不显示日期,两种模式原因必填,保存调用真实抑制接口且刷新当前筛选页 |
|
||||
| TC-SIGNATURE-RETIREMENT-027 | 在抑制管理点击“取消抑制”,填写或不填写原因 | 只出现平台自研弹窗;未填原因不能确认,填写后调用真实取消接口并刷新消息及抑制列表,不出现浏览器`prompt/confirm` |
|
||||
| TC-REPORT-RECORD-LAYOUT-001 | 在报备记录页面查看长备注和短备注 | 备注列桌面宽度不小于320px,使用统一长文本换行样式;宽表允许内部横向滚动,备注不被其他固定列挤成窄竖列,详情仍展示全文 |
|
||||
| TC-DEPLOY-HEALTH-001 | 发布重启后模拟API初始化超过3秒但在60秒内恢复,并分别模拟API或Gateway持续60秒不可用 | 前者由部署脚本逐秒重试并正常完成,不触发误回滚;后者在60秒后明确失败并保留发布前数据库、源码和环境恢复资产,不把端口尚未就绪当作构建或migration失败 |
|
||||
|
||||
### 2026-08-10 本地执行状态
|
||||
|
||||
|
||||
@@ -3435,3 +3435,10 @@ git diff --check
|
||||
- 报备记录“备注”列统一使用长文本列规范,桌面端设置为320px并允许表格内部横向滚动;`docs/ui-design-guidelines.md`新增全局约束:长文本列最小240px、建议280–360px并使用`.ui-table__long-text`。浏览器读取“备注”表头计算宽度及最小宽度均为320px。
|
||||
- 清退专项9/9、API全量35个suite/448项通过;API与前端TypeScript、API正式构建、Vite 8.1.5生产构建通过(2538 modules,仅既有约2.06MB单chunk提示),`git diff --check`通过且仅输出既有LF/CRLF提示。真实查询回放脚本重复执行新增0条,证明QA消息生成幂等;未发送短信、Webhook,未保存抑制,未修改生产或预生产数据。
|
||||
- 本轮代码、测试和文档继续保持未提交、未推送、未部署;受保护的`api/tsconfig.build.tsbuildinfo`、`tsconfig.tsbuildinfo`、`outputs/`和空文件`=`不删除、不提交、不归因于本需求。
|
||||
|
||||
## 2026-08-10 发布健康检查慢启动兼容(发布中)
|
||||
|
||||
- 签名清退功能提交`55aa054005d07eef04891ce6ee0700ae629aee3f`已推送后,首次预生产发布成功完成备份、依赖门禁、Prisma generate、84条migration应用和前后端/Gateway构建;服务重启后的API单次健康检查在固定3秒窗口内尚未监听3000端口,发布包装器按设计恢复上一运行目录。恢复后API、Gateway、Nginx、PostgreSQL、Redis和MinIO均为active,API health为200;API journal没有启动异常,确认属于健康检查与正常慢启动竞态,不是代码构建或migration失败。
|
||||
- 权威`tools/deploy/production-deploy.sh`将API和Gateway检查改为最多60秒逐秒重试。为什么:Nest初始化和活动通道恢复耗时随生产数据量波动,固定等待会把正常慢启动误判为发布失败;超过60秒仍不可用才应终止并进入日志诊断和恢复流程。
|
||||
- 首次发布前恢复资产完整保留在`/opt/cmpp-platform-backups/releases/20260810-205625-before-55aa0540`;PostgreSQL、运行源码和环境文件均已通过格式、非空和SHA-256检查。`20260810143000_add_signature_retirement_alerts`已成功且仅应用一次,数据库当前84条已完成migration;重新发布依赖Prisma幂等状态,不重复伪造或手工标记migration。
|
||||
- 同步更新部署手册和`TC-DEPLOY-HEALTH-001`。本步骤没有发送、补发或重投短信,没有创建外部Webhook,没有修改通道账号、密码、启停状态、企业余额或客户连接。
|
||||
|
||||
Reference in New Issue
Block a user