petstore-docs/qa-reports/phase0-pilot-rc2-release-manifest.md
2026-08-01 23:32:48 +08:00

107 lines
6.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 宠小它 Phase 0 Pilot RC2 Release Manifest
> RC ID`phase0-pilot-rc2`
>
> 冻结日期2026-08-01
>
> 状态:**Ready for Release未部署**
>
> RC StewardPM Assistant
>
> 发布边界:本 manifest 只冻结源码与本地验证证据真实生产配置、备份、迁移、TLS、live smoke 和三角色验收未完成前不得改为 `Released`。
## 1. 冻结提交与回滚点
| 仓库 | RC commit | 前一稳定 commit应用回滚点 | 状态 |
|---|---|---|---|
| backend | `133f61e4ad6152865a76c4e9328d96e689f53635` | `b6138475f073881199abdef8d2681dcb92d1ab66` | clean |
| admin | `3470b124e408501ed824b993bcb34dd40e77c293` | `7e924fa79d6dafbd60643b8e31519737feb92e3b` | clean |
| frontend | `e11ce1aaaa602011718e300e4527a0d971f1339a` | `d29ece3a85e6d137d91afd609f49b10051ad9b7f` | clean |
| docs | 本 manifest 所在 commit | 前一 commit | 提交后确认 clean |
RC 只能部署以上 commit 或由其生成且校验和一致的产物。后续任何代码改动必须建立新 RC 或 Hotfix manifest。
## 2. 纳入范围
- 生产 profile 启动配置门禁:`ddl-auto=validate`、关闭 SQL/万能验证码、强 session secret、显式 HTTPS 域名、显式 CORS、绝对上传目录
- 生产启动跳过开发期默认服务写入;
- JPA schema 校验后执行 15 项只读数据库不变量预检;
- liveness/readinessreadiness 覆盖 DB、磁盘、上传目录、FFmpeg/ffprobe
- 后端只读 smoke、systemd/EnvironmentFile/Nginx 独立模板;
- admin、H5、小程序发布域名门禁默认 `.invalid` 占位配置主动失败;
- 小程序构建显式使用 `--mode mp-weixin`,读取独立环境配置;
- 生产 Runbook、试点门店开通清单、监控告警基线和本体 `BR-CONFIG-003`
- 已冻结的身份拆分、StoreCustomer、BusinessEvent、真实预约容量能力及四个迁移脚本。
## 3. 明确排除
- 未连接、未迁移、未修改任何生产数据库;
- 未安装 systemd unit未改服务器 Nginx未申请或续签 TLS
- 未重启 Petstore、Gitea、GitLab 或其他服务;
- 未使用真实生产域名、微信账号、AppSecret、密码或 token
- 未上传微信体验版/正式版,未完成真机或生产三角色 smoke
- 未接入真实外部监控和告警通知渠道;
- 不包含支付、库存、储值、复杂会员、多门店组织、订单系统或泛 AI。
## 4. 本地验证证据
环境:
- OpenJDK `21.0.10`(源码按 Java 17 release 编译)
- Maven `3.9.14`
- Node `v22.22.2`
- npm `10.9.7`
结果:
| 门禁 | 结果 |
|---|---|
| `mvn test` | 158 tests0 failure / 0 error / 0 skipped |
| `mvn -DskipTests package` | BUILD SUCCESS |
| backend shell `bash -n` | PASS |
| backend/admin/frontend `git diff --check` | PASS |
| admin `npm run build` | PASS存在既有大 chunk warning不阻塞功能验证 |
| frontend `npm run build:h5` | PASS |
| frontend `npm run build:mp-weixin` | PASS`verify-mp-app-json` PASS |
| admin/frontend 默认占位配置门禁 | 按预期失败 |
| admin/frontend 受控测试 HTTPS 源门禁 | PASS输出只含变量名不含值 |
| `validate_ontology.py` | 238 条引用完整 |
| `audit_drift.py` | 55 endpoints、13 JPA entitiescode-only / ontology-only 均为 0 |
## 5. 本地构建校验和
| 产物 | SHA-256 | 可部署性 |
|---|---|---|
| `backend/target/petstore-backend-1.0.0.jar` | `e4ef2477c549c77c7bd0ed392d772c2abd62fb5fdf2e932124cd82726e7d01d2` | 可作为候选 jar仍须最终生产环境预检 |
| admin `dist` 文件哈希清单的聚合 SHA-256 | `017089e4c7fd236b6efcbdcba10b32b9e423e3ccef9613e7ea66717b65b2e984` | **不可部署**:使用仓库 `.invalid` 占位配置构建,仅证明可编译 |
| H5 `dist/build/h5` 聚合 SHA-256 | `d816be92a12f353b2edb6f19987936f7f25e1b09d0a285c4203da494caeb123e` | **不可部署**:使用仓库 `.invalid` 占位配置构建,仅证明可编译 |
| 小程序 `dist/build/mp-weixin` 聚合 SHA-256 | `97489bb9b4b93f96606a10459b6d73526c8287d598019c1651490be854376084` | **不可上传**:使用仓库 `.invalid` 占位配置构建,仅证明可编译 |
正式 admin/H5/小程序必须用权限受控的真实域名文件重新运行 `preflight:release` 和构建,并把新产物校验和追加到生产发布记录。
## 6. 生产 Go/No-Go 门禁
- [ ] Petstore 专用 API/admin/report 域名与 TLS 已就绪,不复用其他产品域名;
- [ ] 最终配置通过后端、admin、frontend release preflight未输出任何秘密值
- [ ] 生产数据库完成全量备份、SHA-256 和隔离恢复演练;
- [ ] 按顺序执行身份拆分、StoreCustomer、BusinessEvent、预约容量四个迁移末尾检查均为 0
- [ ] 后端 15 项只读不变量预检与 JPA `validate` 通过;
- [ ] Petstore systemd/Nginx 配置独立,`nginx -t` 通过;
- [ ] liveness/readiness 和只读 smoke 通过;
- [ ] boss/staff/customer 三角色人工 smoke 及权限/异常反例通过;
- [ ] 微信合法域名、体验版和真机验证通过;
- [ ] 外部监控、告警联系人和值班窗口真实测试通过;
- [ ] Gitea/GitLab 健康回归通过,配置 diff 证明未被改动;
- [ ] 前一应用/静态/小程序回滚点明确,数据库不做自动 down migration。
任一项未勾选,结论均为 `No-Go / Ready for Release`,不得写成已上线。
## 7. 风险与回滚
- admin 主 bundle 仍有大于 500 kB 的构建 warning试点流量下不是上线阻断但应进入后续性能债不与本次发布安全闭环混排。
- readiness 会把上传目录或 FFmpeg 依赖异常视为不可接流;服务器权限和二进制路径必须在切流前验证。
- 四个迁移为前向兼容追加式变更。常规故障只回退应用和静态软链接,不删除列/表/索引;灾难性数据恢复需要独立授权和变更单。
- 微信小程序必须走平台版本回退,不能依靠服务器软链接。
详细步骤见《生产发布与回滚Runbook-2026-08-01.md》试点运营和指标口径见《试点门店开通清单-2026-08-01.md》告警见《生产监控与告警基线-2026-08-01.md》。