6.6 KiB
6.6 KiB
线上实施、验证与治理
目录
- 安全边界
- 项目盘点
- 规则应用
- 隔离验证
- 故障诊断
- 回滚
- 运行治理
1. 安全边界
- 只操作明确授权的组织、项目、工作项类型和测试资产。
- 复用已登录会话,不记录账号、密码、Cookie、Token、OTP、私钥或签名材料。
- 不修改现有prod流水线;回调实验只改test副本。
- 不删除测试需求、分支、MR、流水线或规则,除非另有授权。
- 保留无关规则和用户修改。
2. 项目盘点
先记录flow_model=stage_tasks或flow_model=oneos_delivery。发现两套规则同时启用时判定为迁移中,不按规则名称猜测主模型。
对每个项目独立记录:
| 类别 | 必查内容 |
|---|---|
| 项目 | 精确项目名、项目ID、工作项类型 |
| 工作流 | 全部状态、顺序、发布状态、终态 |
| 阶段任务 | 设计/开发/测试任务类型、状态、标签、父子/关联关系、自动创建能力 |
| 标签 | 分析、设计、开发、测试 |
| 规则 | 名称、事件、条件、动作、顺序、启用、执行账号、后继规则 |
| Codeup | 前后端仓库、集成、Webhook、真实dev/develop |
| 流水线 | test/prod名称、环境、部署阶段、副本能力 |
| 发布 | 发布变更关系、目标环境、完成状态 |
| 测试 | 计划范围、用例状态枚举、需求关系 |
| 缺陷 | 已修复、复测、关闭态、重开态、权限 |
两个项目只复制逻辑,不复制内部ID、仓库、分支、流水线、规则ID或观察证据。
OneOS终态迁移还要盘点:待测试/发布中/发布失败状态缺口、主任务身份方式、任务工作流方案A/B、原生规则能否过滤关联任务身份、Y/A控制负责人和幂等键。门禁未齐时保留可用旧规则,只停用会绕过验收或造成已确认误触发的规则。
3. 规则应用
- 导出或截图现有规则和启用状态。
- 识别后继规则和可能的连锁路径。
- 创建缺失阶段标签。
- 一次只创建或修改一条规则。
- 设置精确触发、当前状态、需求标签、其他条件和目标动作。
- 保存后重新打开,核对全部字段、顺序、启用状态和执行账号。
- 把真实字段写回该项目
rule_instances。 - 触发最小事件,等待5–30秒。
- 查看状态、研发资产、执行日志和二次流转。
- 记录证据后再处理下一条。
手工推进只能标记为“测试准备动作”,不能伪造规则通过。
4. 隔离验证
测试需求命名示例:
[自动化测试] 产品类需求生命周期验证-YYYYMMDD
| 用例 | 操作 | 期望 | 负向检查 |
|---|---|---|---|
| T01 | 已确认+分析标签+关联任务 | 分析中 | 无标签不流转 |
| T02 | 完成分析任务 | 分析完成 | 零任务不误触发 |
| T03 | 设计标签+关联任务 | 设计中 | 仅标题关键字不触发 |
| T04 | 完成设计任务 | 设计完成 | 未完成任务阻塞 |
| T04a | 设计完成后触发TK03 | 创建且只创建一个开发任务 | 重复事件不得重复创建 |
| T04b | 开发任务正式关联需求 | 需求待开发、任务待处理 | 仅标题编号不触发 |
| T05 | 开发标签+关联任务 | 待开发 | 错误当前状态不触发 |
| T06 | 正式关联真实仓库分支 | 开发中 | 非关联分支不触发 |
| T06a | 同一代码资产同时关联需求和开发任务 | 需求开发中、开发任务处理中 | 只关联需求不得声称任务已联动 |
| T07 | 前后端各关联MR,只合并一个 | 保持开发中 | 不得提前完成 |
| T08 | 全部相关MR合并 | 开发完成 | 仅提交不得完成 |
| T08a | 全部相关MR同时关联开发任务并合并 | 开发任务已完成 | 部分仓库MR未合并时阻塞 |
| T09 | 测试标签+关联测试任务 | 测试中 | 未来任务不应误阻塞 |
| T09a | test流水线部署成功触发TK07 | 创建且只创建一个测试任务并进入处理中 | 流水线失败或重复回调不得创建 |
| T10a | 执行全部用例并记录结果 | 每条有明确状态 | 未执行/阻塞/失败阻塞 |
| T10b | 失败用例关联缺陷,改为已修复 | 保持测试中 | 未复测不得完成 |
| T10c | 复测通过/失败 | 关闭并通过/重开并失败 | 用例缺陷状态一致 |
| T11 | 发布变更完成/获批回调 | 发布完成状态 | 重复回调不重复推进 |
| T12a | 进入发布完成后等待异步窗口 | 停留发布完成 | L01/L02不得误关闭 |
| T12b | 完成正式业务验收 | 项目终态 | test或发布不能替代验收 |
结果只使用:通过、异步通过、未触发、误触发、阻塞。
5. 故障诊断
按顺序检查:
- 事件是否真实发生,而不是只有相似标题/标签。
- 当前状态是否精确匹配。
- 标签是否加在需求自身。
- 任务、分支、MR、发布变更是否正式关联。
- 仓库是否接入正确项目,Webhook是否有效。
- 全部相关MR是否合并到真实集成分支。
- 规则是否启用,执行账号是否有权限。
- 执行日志是未匹配、失败还是排队。
- 用例是否仍有未执行、阻塞或失败。
- 缺陷是否仅到已修复,尚未复测关闭。
- 目标状态是否触发后继/重复规则。
- 是否发生
测试完成 → 发布完成 → 终态瞬时连锁。 - 是否等待合理异步窗口。
- 是否误用另一个项目的内部ID或证据。
- 缺陷与原用例在复测后的状态是否一致。
- 需求状态变化是否遗漏对应阶段任务状态,或任务变化是否遗漏需求汇总。
- 自动创建下一阶段任务是否具有需求ID+阶段类型幂等门禁。
- 项目是否混用R/TK阶段模型与Y/A终态模型。
- OneOS主任务是否唯一且可被规则可靠识别。
- 是否缺少
待测试、发布中、发布失败或重试流转边。
6. 回滚
- 先禁用本次新增规则,再恢复修改前条件和动作。
- 保留变更前截图/导出和规则ID。
- 回调POC通过禁用副本回滚;删除需单独授权。
- 分支/MR等测试资产按仓库策略清理;删除需单独授权。
- 不覆盖与本次变更无关的规则。
7. 运行治理
- 每季度复核规则账号、权限、启用状态和失败日志。
- 新增仓库时同步验证项目集成、Webhook和多仓库门禁。
- 状态、标签或工作项类型重命名后逐条复核依赖规则。
- 保护
master/main和真实dev/develop。 - 监控超过7天无活动的需求分支,未经授权不删除。
- 分开统计自动流转时间与真实业务开始时间。
- 持续检查回调签名、时间戳、防重放、幂等和失败重试。