docs: record 37ffce40 preproduction release

This commit is contained in:
hectorzhao
2026-07-31 23:51:50 +08:00
parent 37ffce40b2
commit ecc3d7a504
+13
View File
@@ -3058,3 +3058,16 @@ git diff --check
- 用户要求再次尝试后,推送前确认本地`HEAD=4b9127e1abb78e8ca858fb67d8f4f09d453a3819``origin/main=0af671b4ed4713912e703defd08791f164d4eb25`,远端仍为本地祖先且不存在分叉。 - 用户要求再次尝试后,推送前确认本地`HEAD=4b9127e1abb78e8ca858fb67d8f4f09d453a3819``origin/main=0af671b4ed4713912e703defd08791f164d4eb25`,远端仍为本地祖先且不存在分叉。
- 第二次执行`git push origin main`成功,远端`main``0af671b4`快进到`4b9127e1`,功能提交`ca4f591a`、验证记录`461a65f8`和认证阻塞记录`4b9127e1`均已到达远端。首次失败属于凭据助手当时提供的认证状态被服务器拒绝,重试时已取得有效凭据,不涉及代码、分支或合并冲突。 - 第二次执行`git push origin main`成功,远端`main``0af671b4`快进到`4b9127e1`,功能提交`ca4f591a`、验证记录`461a65f8`和认证阻塞记录`4b9127e1`均已到达远端。首次失败属于凭据助手当时提供的认证状态被服务器拒绝,重试时已取得有效凭据,不涉及代码、分支或合并冲突。
- 本次只提交和推送代码,没有执行部署;预发布环境运行版本、服务、数据库migration、Redis Stream、供应商通道和客户连接均未改变。 - 本次只提交和推送代码,没有执行部署;预发布环境运行版本、服务、数据库migration、Redis Stream、供应商通道和客户连接均未改变。
## 2026-07-31 `37ffce40` 预生产发布记录
- 用户明确授权发布到预生产。发布前重新执行`git status --short --branch``git diff``git fetch --prune`并分别核对`HEAD``origin/main`,确认二者均为`37ffce40b274e218e6e64210ac9f0f4db88106c8`。工作区仅保留既有`api/tsconfig.build.tsbuildinfo`、根目录`tsconfig.tsbuildinfo``outputs/`和空文件`=`,均未纳入发布、提交或删除,也未发现其他会话新增的未知业务修改。
- 发布前预生产`.deployed-commit=c0a4317a7ea641bab39294e596f58f859edfca73`,数据库共76条migrationAPI、Gateway、Nginx、PostgreSQL、Redis、MinIO均为active,目标端口均监听,Redis返回`PONG`Stream消费者1、pending=0、lag=0,下游120秒内活跃连接为0API/Gateway近30分钟error级日志为0。4条active供应商通道当时均为connected 1/1。
- 发布包严格从Git提交`37ffce40b274e218e6e64210ac9f0f4db88106c8`生成:`outputs/cmpp-37ffce40-20260731-234258.tar.gz`,共786个条目、2078953字节,本地与服务器SHA-256均为`9ef5c5f6ee71cefecb1d3ae44f66875ea7bb5b74f1043b3bb2cd8c2cd7c3e972`,服务器端压缩包完整性检查通过。
- 发布前备份目录为`/opt/cmpp-platform-backups/releases/20260731-234347-before-37ffce40`。PostgreSQL备份`postgresql.sql.gz`为7931336字节,SHA-256=`3d48c4ec5aebe177bb7e2354c4c8ceede679acf984d64d53f3465ab6e9e16127`;运行源码备份`runtime-source.tar.gz`为1818522字节,SHA-256=`c8ad0fb47854a8a3e60da1415a8da70c09d11021fa0f677120c17a09b9985709`;环境文件备份`cmpp-platform.env`为850字节,SHA-256=`189f4f67e9d52f3c1ce751d1005c08667b1b4efcd0c576aaa5ad3249c822e4e7`。三项备份均完成完整性和哈希复核,上一运行目录保留为`/opt/cmpp-platform.previous-20260731-234453`
- 使用规定的`tools/deploy/production-deploy.sh`完成部署,Gateway先于API重启。新增migration `20260730093000_add_phone_frequency_controls``20260730114500_add_phone_frequency_whitelist`均已应用;预生产现有78条migrationPrisma确认数据库schema up to date`PhoneFrequencyHit``PhoneFrequencyState``PhoneFrequencyWhitelist`三张新表存在。
- 发布后`.deployed-commit=37ffce40b274e218e6e64210ac9f0f4db88106c8`。API、Gateway、Nginx、PostgreSQL、Redis、MinIO均为active12026、17890、8090、3000、6379、5432、9000均监听;内网API/Gateway health和MinIO health通过,公网首页、运营端、客户端及API health均HTTP 200,公网CMPP 17890 TCP可连接。
- Redis返回`PONG``gateway.submit.commands`消费者组为`cmpp-gateway`,消费者1、pending=0、lag=0、entries-read=2148。号码频控12个配置键已加载,两条默认规则分别为24小时10条和5分钟5条;号码频控命中与平台级白名单接口未登录访问均返回401,确认真实后端路由已注册并受权限保护。
- 发布后API和Gateway自本次发布起error级日志均为0,`panic/fatal/unhandled/exception/error`关键字检查无新增异常;120秒内活跃下游客户连接仍为0。未发送、重投或补发真实短信,未修改真实通道账号、密码、启停状态、企业余额或客户连接。
- 发布后供应商通道现状为3条connected 1/1`会员营销-铁布衫``赛邮行业-王斯评中转``赛邮行业-王斯评中转副本``会员营销-富泷`持续约90秒为failed 0/1,数据库原因为`authentication / connect response status: auth failed`。保留系统自动重连,未修改其账号、密码或启停状态。
- 依赖缓解安全门禁通过。npm audit仍报告既有前端2项high(未使用的React Router RSC路径)和API 3项moderatePrisma工具链)告警,未执行可能引入破坏性升级的`audit fix --force`