This commit is contained in:
@@ -300,3 +300,13 @@ PostgreSQL备份不能直接把含Prisma专用schema参数的DATABASE_URL交给l
|
||||
Windows内置tar解压含中文路径的完整归档曾报Invalid empty pathname;本轮用Python tarfile直接读取提交归档计算907文件摘要,并在Linux解压。归档生成、读取和校验分别检查退出状态,失败时生成的残缺压缩包不得发布。Prisma URL通过进程内解析传给PG工具;Redis备份使用已核验REDIS_HOST/PORT及需要时的受限认证环境,不能假定一定存在REDIS_URL。
|
||||
|
||||
发布后两环境服务/API/真实PG/三个业务Stream/HTTP资源通过,监控检查complete=true、pendingReceipts0;API重启之外既有PID保持。预生产上游6/6;测试6/0是发布前既有状态。用户提供的现有预生产管理员已完成三尺寸登录后只读验收,取代前一发布记录中的“缺少有效管理员入口”遗留项;保留原有2条规则和3条历史版本,不复制测试规则或演示告警。临时公网浏览器连接关闭经连通性复验后通过,不修改网络/认证配置。完整证据及测试规则v4恢复继承记录见testing-progress.md本轮发布验收节。
|
||||
|
||||
## 2026-09-07 夜间累计审核发布补充
|
||||
|
||||
功能版本633ba597754c1b89943ea3a819f45042f41b019a于测试23:08:23、预生产23:11:59部署完成;包含WPS修复,新增夜间计数/幂等表及审核续发租约字段,迁移20260907143000_night_sending_risk。仅重启API、发送Worker、报备解析Worker,保留dist内Gateway/安全代理与旧哈希静态文件;恢复点和逐项验收见testing-progress.md本次发布节。
|
||||
|
||||
跨发行版保留旧资源不要依赖cp -n的成功退出码,本轮预生产跳过已有文件返回非零导致中断。按已核验的切换位置续接,禁止盲目重跑已迁移/移动资产的整份脚本;用逐项存在判断及最终哈希保证不覆盖新index、保留旧资源和运行二进制。PG工具连接使用内存解析后的标准PG环境变量,排除Prisma专用查询参数,不打印密码。
|
||||
|
||||
本次独立备份为测试/var/backups/cmpp-platform/night-risk-20260907T230742和预生产/opt/cmpp-platform-backups/night-risk-20260907T231021;前一轮失败备份目录不算恢复资产。旧API依赖及dist仍在各自/opt/cmpp-night-previous-时间戳,历史logs依赖继续保留。新审核记录和预留状态需结合业务恢复,不能把应用回退当作数据回退。
|
||||
|
||||
验收需同时读journald与应用append日志;本轮预生产journal无warning不能掩盖API文件内既有日报事务超时。在线回执可在备份与验收之间自动退款,遇到余额摘要变化应核对实际业务流水、消息和服务时间,不回写余额以强行制造摘要一致。测试安全代理缺少运行目录、预生产日报刷新超时作为独立遗留问题登记。
|
||||
|
||||
@@ -5218,3 +5218,8 @@ npm run verify:phase8
|
||||
| TC-RISK-NIGHT-009 | 1600×1000、1366×768、390×844检查风控规则及短信审核,保留筛选、号码列表、详情和批量操作;真实请求、刷新、路由、空态、失败和权限状态分别留证。 |
|
||||
|
||||
自动化入口:api/src/risk-review/night-sending-risk.service.spec.ts、api/src/send-chain/night-sending-gate.spec.ts及tools/testing/verify-night-sending-postgres.mjs。后者使用隔离PostgreSQL schema及独立Redis QA队列,不启动消费者、不调用Gateway、不写业务发送队列;隔离队列与schema仅清理本次随机名称。它验证真实持久化与队列恢复,不能冒充实际运营商发送或公网协议压测。
|
||||
|
||||
### 2026-09-07 夜间累计审核发布验收记录
|
||||
|
||||
- 633ba59双环境99项迁移、规则真实API/编辑取消/短信审核空态与刷新三尺寸验收;测试无控制台错误,预生产已完成两轮三尺寸业务API/交互检查,外部统计beacon网络错误单列;最后复核遇23:22:21账号再次停用而401,完整脚本未通过,不能宣称持续登录可用。具体结果与证据见testing-progress.md本次发布节。
|
||||
- 夜间累计5001边界、共享入口、并发幂等、同内容聚合、跨午夜、覆盖、审核决定与入队失败恢复在两环境独立PG schema和Redis QA队列各11组通过。当前线上待审核为空,未发送或实际放行短信;不以空态浏览器验收替代这些业务规则验证。
|
||||
|
||||
@@ -4698,3 +4698,15 @@ git diff --check
|
||||
- 本机后端62套665项、前端21套105项回归通过;新夜间单元与发送门禁12项通过,生产类型和构建通过。测试机独立候选、真实PG双实例并发/隔离/午夜/幂等/覆盖/历史初始化/事务回滚及独立Redis审核恢复11组通过;public消息/Submit计数不变,Gateway调用0、业务队列写入0。固定时间在隔离service层注入,不构造真实短信。
|
||||
- 现场真实测试页面三尺寸基线读取规则、编辑取消、短信审核空态/刷新通过,API200、无新增控制台错误,未保存线上业务规则。测试机初期Tailscale离线超时,用户恢复后正常密码认证;不是Git认证问题,未修改SSH配置。当前浏览器技能未提供,按frontend-testing-debugging技能和既有任意浏览器授权使用Playwright/Edge。临时脚本初次将Windows路径URL编码未还原导致截图失败,修正fileURLToPath后通过;隔离验证先修正模板变量表名与BullMQ优先队列计数口径后重跑通过,不作为业务缺陷。
|
||||
- 本机证据%TEMP%/cmpp-night-risk-20260907,测试候选/opt/cmpp-night-candidate-20260907,PG/Redis隔离结果/tmp/night-pg-verification.log。最终门禁及发布后真实页面/服务/队列验收另记下节;尚未执行真实短信发送、供应商压测或实际备份恢复。
|
||||
|
||||
## 2026-09-07 23:08–23:26 夜间累计审核双环境发布验收
|
||||
|
||||
- 功能提交633ba597754c1b89943ea3a819f45042f41b019a已推送,回读origin/main一致、分叉0/0。首次GCM返回Failed to authenticate user,核对既有配置后,在相同GCM_INTERACTIVE=never、GIT_TERMINAL_PROMPT=0进程设置下仅重试一次成功;不据此认定已永久修复,不改凭据或全局配置。测试机Tailscale恢复后SSH可用。
|
||||
- 两环境发布精确提交归档SHA256=b1c06c22b3e4f30d3389036b59a9c28dc34c1d236a66dd086ced7d495287cdd7,912份已跟踪源文件逐项一致,包含此前WPS修复。独立候选生成Prisma Client、前后端类型/生产构建及Stylelint、CSS归档治理、安全、部署和包体门禁通过;两机分别重跑真实PG双连接池与独立Redis的11组隔离测试,public数量不变、无业务队列/Gateway写入。此前本机API665项、前端105项和CSS治理15项结果沿用,不冒充再次全量执行。
|
||||
- 测试23:08:23、预生产23:11:59完成切换,均应用20260907143000_night_sending_risk迁移,完成迁移总数99;.deployed-commit均633ba597754c1b89943ea3a819f45042f41b019a。仅API、发送Worker和报备解析Worker重启;保留原Gateway、安全代理二进制及旧哈希前端资源,摘要逐一一致,未重启Gateway/callback/监控/存储/Nginx。验收文档另作后续提交,不因此变更已验收功能版本或重启服务。
|
||||
- 独立恢复点:测试/var/backups/cmpp-platform/night-risk-20260907T230742,预生产/opt/cmpp-platform-backups/night-risk-20260907T231021(既有受保护数据盘入口)。application.tgz、config.tgz、PG custom dump及目录、Redis RDB、SHA256SUMS验证通过;旧执行资产分别保留/opt/cmpp-night-previous-20260907T230742、/opt/cmpp-night-previous-20260907T231021。未实际恢复,应用回退不能撤销新增审核/计数数据。
|
||||
- 发布脚本问题:测试备份最初因Prisma URL schema参数、继而PGDATABASE URI未作为连接串解析而失败,均发生于停止服务/迁移前;最终解析为PGHOST/PGPORT/PGUSER/PGPASSWORD/PGDATABASE进程变量成功。预生产cp -an对已有文件返回非零,在前端目录复制后中止;核对API旧资产已移动、候选/备份完整后,仅续接剩余复制、启动、验证步骤,未重复迁移。后续应使用显式文件存在判断保留旧资源,不能假设cp -n跨版本退出码一致或用忽略所有错误掩盖真实失败。
|
||||
- 数据与服务:测试消息119509/Submit130769/签名55/引流1,预生产93243/91563/653/11,均与本次备份前数量一致;企业/应用/通道摘要不变。预生产余额摘要有一项差异,逐行核对备份与AccountTransaction确认旧短信于15:10:50 UTC最终失败自动退款760分;该短信08:18:35 UTC已入队,发生于新API启动前,非本轮手工余额操作。夜间窗口/预留均0,未造真实发送。三个业务Stream均pending=0、lag=0;预生产实际回执推进水位,不能称所有水位未变。13项预生产服务active,受影响服务NRestarts=0;fstab/UUID/存储脚本/drop-in摘要一致,保护检查通过。
|
||||
- 真实页面:测试与预生产均使用真实管理员、API及PG数据,1600×1000、1366×768、390×844检查规则读取、阈值5000、北京时间21:00–08:00、人工审核动作锁定、编辑取消、短信审核空态、刷新和路由切换;无整页横向溢出,相关GET均200,未保存业务规则。预生产Codex_admin最初停用/删除,用户23:16:06恢复后原凭据可登录,前两轮三尺寸业务GET均200且检查完成,仅static.cloudflareinsights.com统计beacon出现连接重置;第三轮23:21:57登录后,23:22:21发生user.disabled操作,最后回读401。23:24再试仍停用,PG确认status=disabled、sessionVersion=2;未新建、启用或重置账号。保留已完成页面证据,最终完整零异常脚本未通过,不声称持续登录可用或整个控制台零错误。
|
||||
- 现存独立问题:测试安全代理发布前已因/run/cmpp-security-agent缺失反复启动失败(226/NAMESPACE),未扩大本轮修改;预生产ReportsService日报刷新在发布前21:34、22:34及发布后23:12仍出现5000ms事务超时,发送/报备Worker没有本轮新增错误,不能称所有应用日志正常。两项留待专项诊断,不影响已执行的夜间规则只读及隔离验收。
|
||||
- 证据:本机%TEMP%/cmpp-night-risk-20260907的测试/构建日志、两环境三尺寸截图、测试browser.json及预生产browser-observations.json/最后一次browser-failed.json;两机独立恢复目录before/after、verification.json、migrate.log、services及storage摘要,预生产account-compare.json。未发送/补发/重投/重新入队真实短信,未执行真实供应商高并发或实际备份恢复;线上审核当前为空,同内容审核/续发恢复由真实PG和隔离Redis验证,不能冒充真实短信审核放行。
|
||||
|
||||
Reference in New Issue
Block a user