Appearance
STRICT §4.2 预发签字 — 运维操作手册
与 permission-staging-checklist.md §4.2、release-ops-quickstart.md、docs/ci/strict-signoff-checklist.md 配套。
目标:在预发开启 ACC_ROUTE_GUARD_STRICT / SYS_ROUTE_GUARD_STRICT 后,完成手工验收并 签字存档(工单 / 发布记录 / CI artifact)。
0. 角色分工
| 角色 | 负责 |
|---|---|
| 运维 | .env 合并 STRICT、重启进程、跑 check:env-pack、存档 artifact |
| 业务验收 | §4 表 1–13、M3 在制表、M4 结算表 |
| 开发(发版前) | 提供版本号、确认 db:sync-roles-perms 已含新权限码 |
1. 发版前自动化(运维可在跳板机或 CI 日志核对)
bash
# 仓库根目录
pnpm run check:staging
pnpm run check:env-pack # 须已有 deploy/docker/.env.pack 且含 STRICT=trueGitHub Actions Prerelease gates 通过时,下载 artifact release-signoff-templates(含 strict-signoff-checklist.md 与 release-signoff-bundle.md)。
合并签字包(§4.2 + M3 + M4 一页):release-signoff-bundle.md(建议打印或 PDF 存档)。
可选全量:
bash
pnpm run prerelease # 需 backend/.env 的 DATABASE_URL(月结)2. 预发环境:合并 STRICT 并重启
- 按 env-pack-strict-and-e2e.md 合并 strict 到
deploy/docker/.env.pack(勿提交 git)。 - 确认:
ini
ACC_ROUTE_GUARD_STRICT=true
SYS_ROUTE_GUARD_STRICT=true- 部署/重启 gateway、sys、acc(与现网流程一致)。
- 再次校验:
pnpm run check:env-pack(指向预发 pack 路径时用ENV_PACK=...)。
3. 权限与角色(每次发版含新 btn_* 时必做)
本次及后续若新增按钮权限(如 btn_acc_stock_ledger_export):
bash
# backend 目录,须 DATABASE_URL 指向预发库
pnpm --filter taskflow-backend run db:sync-roles-perms核对预置角色(见 permission-role-templates.md):
| 角色 | 库存流水菜单 | 导出 CSV |
|---|---|---|
ACC_PC_LITE | 有 | 无 |
ACC_PC_OPERATOR | 有 | 有 |
MINI_RECORDER_POST | 有 | 有 |
改角色绑定后,相关用户须 重新登录(JWT + Redis 会话刷新)。
4. 手工验收顺序(建议)
- permission-staging-checklist.md §4 表 1–13(须在 STRICT 已开启 后测)。
- miniapp-m3-wip-acceptance.md — 在制开单/关账/现场报工;库存导出(R4)用只读 vs 过账账号各测一次。
- m4-settlement-manual-checklist.md — 经理结算(≈15 分钟)。
可选 Web E2E(预发网关 + Secrets):
bash
E2E_API_BASE_URL=https://<预发网关> \
E2E_ACCOUNT_READONLY=... E2E_PASSWORD_READONLY=... E2E_SITE_ID=... \
pnpm run test:e2e -- acc-readonly-posting acc-permission-denied-api acc-stock-ledger-export-readonly5. §4.2 签字存档(必填)
复制 permission-staging-checklist.md §4.2、CI artifact strict-signoff-checklist.md,或合并表 release-signoff-bundle.md,填写:
- 预发环境 / 版本号(git tag 或镜像 digest)
- STRICT 开启日期(UTC+8)
- 运维负责人、业务验收负责人、签字日期
- 各项 □ 勾选
存档位置建议:发布工单附件 + 内部 Wiki/网盘(与现网发布记录同目录)。
6. 回滚
去掉或设 ACC_ROUTE_GUARD_STRICT=false、SYS_ROUTE_GUARD_STRICT=false,重启 gateway/sys/acc;Service 层 assertAcc* 仍生效。
7. 与路线图对应
完成本手册 + §4.2 签字后,可在 roadmap-four-tracks.md P0 清单中将「§4.2 签字表存档」勾为已运维验收(代码仓内 checkbox 由发版负责人更新)。