文件
hyb-oa/deploy/trialrun/checklist.md
T

3.8 KiB
原始文件 Blame 文件历史

hyb-oa 试运行发布 Checklist(E19)

目标:一次发布可追踪、可回归、可回滚(10 分钟内恢复到上个版本)。

A. 发布前(Pre-flight)

  • 确认当前版本已打 tag:git tag -a trialrun-YYYYMMDD-NN -m "trialrun release"
  • 本地门禁:./scripts/check-minimal.sh
  • 全量回归(建议):cd server && RUN_AUDIT_REGRESSION=1 RUN_OCR_REGRESSION=1 ./scripts/regression-all.sh
  • 备份(DB + 文件存储):
    • set -a && source deploy/trialrun/.env && set +a
    • ./scripts/backup-db.sh(记录输出文件名)
    • ./scripts/backup-storage.sh(记录输出文件名)

B. 发布(Deploy)

  • git checkout <tag>
  • 构建并启动:
    • docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env up -d --build server
    • docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env run --rm init
  • 探活:
    • curl -fsS http://127.0.0.1:3000/ready
  • 登录验证(管理员账号):
    • 访问 http://127.0.0.1:3000
    • 登录成功,菜单权限正确

C. 发布后(Post-check)

  • 关键链路手工验证(建议至少一次):
    • 员工:新建报销 → 上传票据 → 绑定 → 提交
    • 经理:待办审批(approve)
    • 财务:付款(含凭证字段)
  • 查看 server 日志(无异常错误风暴):
    • docker logs --tail=200 hyb-oa-trialrun-server

D. 回滚(Rollback)

原则:如果涉及迁移,最快回滚通常是 “恢复备份 + 回到上个 tag”。

  • 停止 server:docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env stop server
  • 恢复 DB:./scripts/restore-db.sh <db.dump>
  • 恢复存储:./scripts/restore-storage.sh <storage.tar.gz> deploy/trialrun/data/storage
  • 回到上个版本:git checkout <previous-tag>
  • 重启并探活:
    • docker compose -f deploy/trialrun/docker-compose.yml --env-file deploy/trialrun/.env up -d --build server
    • curl -fsS http://127.0.0.1:3000/ready

E. R12-lite 试点切换检查

  • 已执行 cd server && DATABASE_URL=postgresql://hyboa_user:[email protected]:5432/hyb_oa_r12?schema=public npm run seed:config
  • 运行环境已打开 R12-lite 所需 env 开关
  • 功能开关页已将 budget_precheck_v1、payment_batch_v1、portal_home_v1、global_search_v1、announcements_v1、workflow_definition_admin_v1、cutover_console_v1 切到 inherit 或 force_on
  • 旧 OA 主数据 CSV 已完成 dry-run,结果为 dry_run_ok
  • docs/migration-mapping.md 已按试点范围人工核对
  • 旧 OA 新单停用时间已公告,未完结事项已人工清空或冻结
  • 仅按部门 / 法体 / 域粒度创建 CutoverScope
  • 先开 portal,再逐域灰度打开业务入口
  • Portal、待办、预算预校验、支付批次、公告、搜索已在试点部门可用
  • 回退方案已演练:关闭 CutoverScope + 恢复旧入口

F. R17 小团队上线检查

  • 工作区模式已确认为 small_team_internal
  • 主导航已收敛为 Portal / 团队 / 请假 / 报销 / 资产 / 周报 / 待办 / 公告
  • 采购 / 差旅 / 预算 / 支付批次 / AP 运营已降级为管理员备用入口
  • 已打开 portal_home_v1、announcements_v1、presence_board_v1、weekly_report_v1、employee_lifecycle_v1、todo_board_v1
  • 员工账号、档案、部门、直属上级已补齐
  • 资产台账与员工领用关系已核对
  • 至少 1 条公告已发布并在 Portal 可见
  • 至少 1 次入职/离职/资产交接已演练
  • 全员已知晓每周周报和今日状态使用要求
  • 已建立连续 4 周观测记录方式(建议直接使用 deploy/trialrun/observation-template.md)