R7P 准备扩大试运行草案与运维培训材料
这个提交包含在:
@@ -0,0 +1,136 @@
|
||||
# OPS7 运维交接 Runbook
|
||||
|
||||
**文档状态**:草案。用于 R7 前运维交接和上线前检查;不代表已执行回滚、恢复或生产配置变更。
|
||||
|
||||
## 1. 原则
|
||||
|
||||
- 所有生产或试运行配置变更必须先确认窗口、负责人和回滚路径。
|
||||
- 不得记录密码、不得记录 token、不得打印 secret、不得提交真实票据或导出文件。
|
||||
- 备份恢复、Caddy/systemd 调整、数据库写操作都必须单独确认,不在本 Runbook 中直接执行。
|
||||
- 企业微信只承担入口、免登/绑定、个人应用消息和 deeplink;正式审批仍以 OA 审批历史和审计日志为准。
|
||||
|
||||
## 2. 发布前检查
|
||||
|
||||
```bash
|
||||
git status --short
|
||||
python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/<target>.csv
|
||||
node scripts/qa/check-ui-design-rules.mjs --strict
|
||||
cd client && npm run typecheck && npm run build
|
||||
cd server && npm run prisma:validate
|
||||
```
|
||||
|
||||
公网检查:
|
||||
|
||||
```bash
|
||||
curl -fsS https://oa.hyinda.com/ready
|
||||
PUBLIC_BASE_URL=https://oa.hyinda.com node scripts/qa/check-public-bundle-copy.mjs
|
||||
LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh
|
||||
```
|
||||
|
||||
若缺少 live smoke 凭据或真实 OCR 样票,脚本应记录 `SKIP`,不得把 `SKIP` 写成真实业务通过。
|
||||
|
||||
## 3. 部署
|
||||
|
||||
标准部署命令:
|
||||
|
||||
```bash
|
||||
bash deploy/trialrun/deploy.sh
|
||||
```
|
||||
|
||||
默认不覆盖远端 `.env`。只有确认本地 `deploy/trialrun/.env` 可直接上服务器时,才允许在单独确认后使用:
|
||||
|
||||
```bash
|
||||
SYNC_ENV=1 bash deploy/trialrun/deploy.sh
|
||||
```
|
||||
|
||||
部署完成后必须记录:
|
||||
|
||||
- 本地提交 hash。
|
||||
- 公网 `/ready` 结果。
|
||||
- public bundle 扫描结果。
|
||||
- live readiness 报告目录。
|
||||
- 如执行视觉矩阵,记录 `output/playwright/<issue-id>/` 和 `artifacts/qa-flow/<issue-id>/`。
|
||||
|
||||
## 4. 回滚
|
||||
|
||||
回滚前先判断问题级别:
|
||||
|
||||
- 阻断:主链路无法提交、审批、查看状态或权限泄露。
|
||||
- 严重:影响多人使用或财务/审批可信度,但存在临时绕行。
|
||||
- 一般:不阻断主链路的文案、视觉或效率问题。
|
||||
|
||||
回滚需要人工确认:
|
||||
|
||||
1. 确认回滚联系人和执行窗口。
|
||||
2. 确认目标版本或上一个部署包。
|
||||
3. 确认数据库是否需要回滚。多数前端/脚本问题不应回滚数据库。
|
||||
4. 执行回滚后重新检查 `/ready`、public bundle、live readiness。
|
||||
|
||||
不得在未确认时执行:
|
||||
|
||||
- 删除数据库。
|
||||
- 手工修改生产表结构。
|
||||
- 覆盖生产 `.env`。
|
||||
- 清理真实票据、附件或审计记录。
|
||||
|
||||
## 5. 备份与恢复
|
||||
|
||||
上线或 R7 前至少确认备份策略:
|
||||
|
||||
- 数据库备份文件位置、时间、负责人。
|
||||
- 附件或对象存储备份位置、时间、负责人。
|
||||
- 恢复演练负责人和预估耗时。
|
||||
- 恢复后检查命令:`/ready`、登录、报销详情、附件下载、财务台账。
|
||||
|
||||
恢复演练只在独立窗口执行。演练记录只写备份文件名、恢复环境、恢复耗时和检查结果,不记录真实文件内容。
|
||||
|
||||
## 6. 账号交接
|
||||
|
||||
R7 前账号交接只记录角色和交付状态:
|
||||
|
||||
| 账号/角色 | 检查项 |
|
||||
| --- | --- |
|
||||
| 员工 | active、employee、直属主管正确、可登录 |
|
||||
| 审批人 | active、正式审批角色、不是 admin-only 代批 |
|
||||
| 财务 `wangzhiling` | active、employee + finance、不授予管理员 |
|
||||
| 管理员 `wangshunli` | 系统管理、回滚联系人、问题登记负责人 |
|
||||
|
||||
一次性密码只能通过仓库外安全渠道交付,不写入 Issue、文档、截图或聊天摘要。
|
||||
|
||||
## 7. 企业微信通知检查
|
||||
|
||||
执行前只读确认:
|
||||
|
||||
```bash
|
||||
curl -fsS https://oa.hyinda.com/api/auth/wecom/config
|
||||
```
|
||||
|
||||
检查点:
|
||||
|
||||
- `status=ready`。
|
||||
- 工作台入口指向 OA 移动入口。
|
||||
- 个人应用消息通道启用。
|
||||
- 回调和可信域名与公网域名一致。
|
||||
- 配置接口不返回 secret。
|
||||
|
||||
人工检查点:
|
||||
|
||||
- 企业微信工作台能看到海音达工作台。
|
||||
- 已绑定用户从手机企业微信进入后不反复要求登录。
|
||||
- 收到审批消息后能 deeplink 回 OA 移动审批或详情。
|
||||
|
||||
## 8. 问题登记模板
|
||||
|
||||
每个问题至少记录:
|
||||
|
||||
- 编号:
|
||||
- 等级:阻断 / 严重 / 一般 / 体验建议
|
||||
- 角色与账号:
|
||||
- 设备与入口:
|
||||
- URL 或页面:
|
||||
- 操作步骤:
|
||||
- 期望结果:
|
||||
- 实际结果:
|
||||
- 证据位置:
|
||||
- 负责人:
|
||||
- 当日处理结论:修复 / 降级 / 回滚 / 后续 Issue
|
||||
在新工单中引用
屏蔽一个用户