docs: 记录规则管理双环境发布与验收结果
CSS quality / css-quality (push) Has been cancelled

This commit is contained in:
hectorzhao
2026-09-06 22:44:24 +08:00
parent e4f93f7193
commit f885f0b907
3 changed files with 28 additions and 0 deletions
+10
View File
@@ -290,3 +290,13 @@ cmpp-sending-monitor以cmpp-api:cmpp-security运行,TZ=UTCPostgreSQL池上
PostgreSQL备份不能直接把含Prisma专用schema参数的DATABASE_URL交给libpq工具;本次以进程内URL解析取得连接项,经PG环境变量调用pg_dump,既不输出连接秘密,也不修改应用连接配置。已有备份失败文件不算有效资产,必须取得成功dump、pg_restore目录和摘要后再发布。 PostgreSQL备份不能直接把含Prisma专用schema参数的DATABASE_URL交给libpq工具;本次以进程内URL解析取得连接项,经PG环境变量调用pg_dump,既不输出连接秘密,也不修改应用连接配置。已有备份失败文件不算有效资产,必须取得成功dump、pg_restore目录和摘要后再发布。
测试环境保留6条【测试演示】监控历史告警及36个初始快照,前缀qa-monitor-demo-20260906,规则表保持空;这些是人工验收数据,不能迁到预生产或当作供应商质量事实。生成脚本留在本机%TEMP%/cmpp-monitor-fix-20260906和测试机/tmp/cmpp-seed-monitor-alerts-20260906.cjs,未加入生产启动流程。工作区原有认证/部署规范改动仍单独保护,本轮功能提交GCM推送首试成功;验收文档c51255d首次推送返回Failed to authenticate user,核对helper后在同样进程级GCM_INTERACTIVE=never/GIT_TERMINAL_PROMPT=0下仅重试一次成功,远端回读确认。未修改认证配置,首次失败内部原因仍未查明。 测试环境保留6条【测试演示】监控历史告警及36个初始快照,前缀qa-monitor-demo-20260906,规则表保持空;这些是人工验收数据,不能迁到预生产或当作供应商质量事实。生成脚本留在本机%TEMP%/cmpp-monitor-fix-20260906和测试机/tmp/cmpp-seed-monitor-alerts-20260906.cjs,未加入生产启动流程。工作区原有认证/部署规范改动仍单独保护,本轮功能提交GCM推送首试成功;验收文档c51255d首次推送返回Failed to authenticate user,核对helper后在同样进程级GCM_INTERACTIVE=never/GIT_TERMINAL_PROMPT=0下仅重试一次成功,远端回读确认。未修改认证配置,首次失败内部原因仍未查明。
## 2026-09-06 整体兜底规则管理局部发布
功能版本e4f93f7193496a204efe4e753018a1c1ceb35742已推送,测试22:27:37、预生产22:34:24完成应用发布。发布包来自精确提交,907份源码逐项验证;本次前端/API变更,无依赖、schema、Gateway或Worker契约变更,故仅重启cmpp-api。保留dist下Gateway、安全代理二进制以及旧哈希前端资源,避免重启无关进程或中断旧浏览器会话。
测试恢复资产/var/backups/cmpp-platform/rule-manager-20260906T222440;预生产/opt/cmpp-platform-backups/rule-manager-20260906T222419。PG/Redis/应用/配置及SHA256已验证,数据盘与备份入口保护通过,未演练恢复。预生产备份位于数据盘、运行目录位于系统盘,不能直接rename跨设备目录;本次失败发生在旧dist尚未移动时,校验已复制源码后改在/opt/cmpp-rule-manager-previous-e4f93f7保留previous-dist/previous-api-dist并切换。后续发布应在运行目录同文件系统准备原子切换及应用回退目录,独立恢复包仍写受保护数据盘,不改备份链接。现有logs仍依赖历史运行目录,不清理。
Windows内置tar解压含中文路径的完整归档曾报Invalid empty pathname;本轮用Python tarfile直接读取提交归档计算907文件摘要,并在Linux解压。归档生成、读取和校验分别检查退出状态,失败时生成的残缺压缩包不得发布。Prisma URL通过进程内解析传给PG工具;Redis备份使用已核验REDIS_HOST/PORT及需要时的受限认证环境,不能假定一定存在REDIS_URL。
发布后两环境服务/API/真实PG/三个业务Stream/HTTP资源通过,监控检查complete=true、pendingReceipts0API重启之外既有PID保持。预生产上游6/6;测试6/0是发布前既有状态。用户提供的现有预生产管理员已完成三尺寸登录后只读验收,取代前一发布记录中的“缺少有效管理员入口”遗留项;保留原有2条规则和3条历史版本,不复制测试规则或演示告警。临时公网浏览器连接关闭经连通性复验后通过,不修改网络/认证配置。完整证据及测试规则v4恢复继承记录见testing-progress.md本轮发布验收节。
+6
View File
@@ -5187,3 +5187,9 @@ npm run verify:phase8
- SMR-033:列表与编辑器区分当前生效版本和下一周期待生效版本,展示真实生效时间;应用×签名>签名>应用>通用,停用保留覆盖,不等于恢复继承。 - SMR-033:列表与编辑器区分当前生效版本和下一周期待生效版本,展示真实生效时间;应用×签名>签名>应用>通用,停用保留覆盖,不等于恢复继承。
- SMR-034:恢复继承使用数据库保存配置与version,说明无下层规则/更具体规则的影响;新版本、历史版本与审计原子提交,并发同版本仅一次成功;审计失败完整回滚,历史对象删除后仍可移除覆盖。 - SMR-034:恢复继承使用数据库保存配置与version,说明无下层规则/更具体规则的影响;新版本、历史版本与审计原子提交,并发同版本仅一次成功;审计失败完整回滚,历史对象删除后仍可移除覆盖。
- SMR-0351600×1000、1366×768、390×844检查列表、新增、编辑、搜索下拉及恢复确认;保存后回列表保留筛选,单层弹窗Footer可见,表格内部滚动;真实API/PG验收与组件测试分别记录,不发送短信。 - SMR-0351600×1000、1366×768、390×844检查列表、新增、编辑、搜索下拉及恢复确认;保存后回列表保留筛选,单层弹窗Footer可见,表格内部滚动;真实API/PG验收与组件测试分别记录,不发送短信。
### SMR-030035 发布验收补充(2026-09-06
- SMR-030/031/033/035:测试环境三尺寸真实API/PG页面及预生产三尺寸只读通过;通用空阈值、名称/类型列表筛选、远程对象搜索、签名/应用联动、草稿保护、刷新路由和错误重试有执行记录。
- SMR-032/034:测试环境真实停用覆盖v1→并发v2→旧表单409→重新加载保存v3→恢复继承v4通过,当前与待生效提示、过滤条件和已持久化恢复配置均核验;预生产不进行规则写入。
- 软删除历史、20+3分页、继承优先级、事务审计失败回滚等15项以真实Prisma隔离schema验证;测试替身只用于105项前端与639项API自动回归,不代替线上结论。匿名401/非法查询400、单独网络失败展示测试与正常真实API验收分开记录。
+12
View File
@@ -4667,3 +4667,15 @@ git diff --check
- 本地前端21套105项、API60套639项、前后端TypeScript/生产构建、增量格式/ESLint、Stylelint、CSS治理及其用例、安全/部署/包体门禁通过。首次辅助函数拆分漏导入及测试定位类型错误经类型/全量检查发现并修复,最终全量重跑通过。 - 本地前端21套105项、API60套639项、前后端TypeScript/生产构建、增量格式/ESLint、Stylelint、CSS治理及其用例、安全/部署/包体门禁通过。首次辅助函数拆分漏导入及测试定位类型错误经类型/全量检查发现并修复,最终全量重跑通过。
- 测试机真实Prisma/service隔离schema15项通过:跨企业名称搜索、20+3分页、签名联动、非法查询、三种范围、重复范围版本、当前/待生效、继承优先级、停用保留覆盖、恢复并发409、软删除历史、审计失败回滚。使用全新隔离Tenant/Application/Signature样本,public业务写入0,结束精确删除自己的schema;未发送短信。脚本tools/testing/verify-monitor-rule-management-postgres.mjs可重复执行。 - 测试机真实Prisma/service隔离schema15项通过:跨企业名称搜索、20+3分页、签名联动、非法查询、三种范围、重复范围版本、当前/待生效、继承优先级、停用保留覆盖、恢复并发409、软删除历史、审计失败回滚。使用全新隔离Tenant/Application/Signature样本,public业务写入0,结束精确删除自己的schema;未发送短信。脚本tools/testing/verify-monitor-rule-management-postgres.mjs可重复执行。
- 本机证据目录%TEMP%/cmpp-rule-manager-20260906保存原修改备份、前后端测试/构建/门禁日志。真实登录后页面及两环境发布尚待执行,不能用上述单测和隔离集成结论代替;预生产仍需现有有效管理员安全入口,不擅自重建或重置账号。 - 本机证据目录%TEMP%/cmpp-rule-manager-20260906保存原修改备份、前后端测试/构建/门禁日志。真实登录后页面及两环境发布尚待执行,不能用上述单测和隔离集成结论代替;预生产仍需现有有效管理员安全入口,不擅自重建或重置账号。
## 2026-09-06 整体兜底规则管理改造(发布验收)
- 功能提交e4f93f7193496a204efe4e753018a1c1ceb35742已推送;GCM首次Failed to authenticate user,核对既有Git/helper/origin后在同一进程设置GCM_INTERACTIVE=never、GIT_TERMINAL_PROMPT=0重试一次成功,ls-remote/fetch精确回读且分叉0/0。未改全局配置、清凭据或新增密钥;临时变量不是永久认证修复。最终工作区仍有其他会话的规范、部署、日志等改动和3份未跟踪草稿,全部保护;project-daily-log.md曾短暂显示删除后变为修改,非本轮操作。
- 从已提交归档生成907文件SHA256清单;测试与预生产候选逐项匹配、分别完成前后端构建、Stylelint/CSS归档治理及安全/部署/包体门禁。测试候选再次执行真实Prisma隔离schema15项通过,public业务写入0。与本地21套105项前端、60套639项API、类型/格式/ESLint检查共同构成本轮验证,不冒充发送链路或容量测试。
- 测试22:27:37、预生产22:34:24发布e4f93f7;仅API重启,测试API PID455184、预生产2378254,所有其他既有服务PID不变且active/NRestarts0。无迁移(仍98项)、无Gateway/Worker/存储配置变更。测试上游desired6/connected0与原基线相同,预生产6/6;不能把测试上游既有未连接写成已修复。
- 独立恢复点:测试/var/backups/cmpp-platform/rule-manager-20260906T222440;预生产/opt/cmpp-platform-backups/rule-manager-20260906T222419,经既有链接落到/data。PG custom dump/list、application/config归档、Redis RDB和SHA256SUMS全部校验;未执行实际恢复。预生产跨设备rename在运行dist切换前失败,已改用同文件系统/opt/cmpp-rule-manager-previous-e4f93f7保留旧前端/API dist,再切换成功;数据盘恢复包保持不动。未重启存储或修改fstab/UUID/drop-in。
- 真实Edge测试:1600×1000、1366×768、390×844的通用空态、个性化列表、企业应用远程名称搜索、行内校验、草稿退出取消/确认、刷新/路由切换及滚动可操作;无页面横向溢出、pageerror或非预期console error。签名覆盖、应用+签名覆盖的联动选项和编辑上下文真实200;新管理/选项/上下文匿名401,非法页码/不完整范围400。单独注入请求中断验证错误与重试,仅用于失败展示验收,正常业务均为真实API/PG。
- 测试UI真实新增停用的应用覆盖v1,重复范围进入编辑且锁定对象;另一真实API保存产生v2后,旧表单保存409且保留输入,明确重新加载后更新v3;名称/类型筛选保留,恢复继承预览提示无下层规则,确认产生v4且使用已持久化配置。仅创建该测试覆盖,始终enabled=false,最终deleted=true;规则b264df0c-35cf-467f-b908-1aec5aa93502及4条版本、操作审计保留,通用阈值仍空。未改应用/企业/签名配置,未启用告警或发送短信。早期脚本的截图URL转文件路径、错误标签和自研Select定位失败已修正后续跑通,不作为业务Bug或通过证据。
- 预生产通过用户提供的现有管理员正常登录,未创建/重置账号;三尺寸通用规则、个性化空列表、远程应用搜索、编辑上下文、取消返回和刷新验收通过。原有2条规则(验证码通用启用、整体通用已恢复继承)及3条版本保持,未带入测试规则/演示告警。首次公网浏览器出现ERR_CONNECTION_CLOSED;匿名连通性复核后以无代理Edge完成验收,未改服务器网络、TLS或安全设置,不能把该现象称认证失败或根因已定位。
- 最终基础设施:两环境主JS index-a_5GyNeX.js、公共runtime及主CSS HTTP200且摘要等于运行dist13项检查服务active(测试postgresql为aggregate单元,实际数据库查询正常)。测试短信119509/Submit130769/签名55/引流1;预生产87287/87428/179/11,企业/余额/通道/应用配置摘要与切换前一致。三个业务Stream pending/lag0、水位与此前只读基线一致:测试commands1787806802603-0/results1787806917609-0/protocol1787806802967-0;预生产commands1788690572448-2/results1788696610600-0/protocol1788696610646-0。初版临时巡检误用cmpp:*未匹配Stream,已按实际gateway.*重读;不以空对象证明队列正常。健康检查complete=true/pendingReceipts0/poolMax2Inbox无待处理、Outbox均publishedAPI本次启动后journal无error。
- 本机证据%TEMP%/cmpp-rule-manager-20260906test-browser.json/test-writes.json/test-extra.json/preprod-browser.json、三尺寸截图、测试/构建日志;服务器恢复点保存before/immediate-before/after及release-*日志、最终infra与精确文件清单。浏览器账号凭据未入库/文档,验收会话退出;预生产验收只读,测试保存链路已恢复继承。未执行真实发送、高峰压测、实际数据恢复或预生产规则写入。