文档

质量门控

策略会决定哪些内容允许通过,以及质量关卡会在何处拦截任务。

一个质量关卡是一项必须通过的校验,工作才能继续推进。质量关卡让“达到可发布标准”不再凭主观判断,而是系统每次都会统一执行的要求。

阻断型与提示型

每个质量关卡都属于其中一种,这一区分正是整个设计的核心:

  • 阻断型——一旦校验失败,任务就会被暂停。只有校验通过或经人工干预后,工作才能继续推进。
  • 提示型——校验失败时会生成相应记录并附加到拉取请求中,但任务仍会继续执行。

先设置为提示型。观察一两周内质量关卡在实际工作中触发的情况,再将符合条件的关卡升级为阻断型。如果刚上线就设置为阻断型且未经过调优,往往会引导人员想办法绕过它。

质量关卡可校验的内容

质量关卡位于校验阶段之上,可覆盖以下内容:

  • 你自己的测试套件运行通过
  • 代码覆盖率阈值
  • 代码规范检查与静态分析
  • 安全扫描
  • 针对正在运行的预览环境的浏览器测试
  • 附加在pull request上的外部供应商提供的校验结果

最有价值的质量关卡几乎总是你现有的测试套件,因为它已经体现了团队认定的重要标准。

质量关卡拦截工作的时机

质量关卡在校验阶段运行,即开发者智能体完成任务之后、审核之前。阻断型校验失败时,任务会被退回重新处理,而不会生成你最终会驳回的pull request。

这样的顺序经过精心设计:在流程内部失败的成本远低于在界面上暴露出来。

策略

质量关卡被归类到策略中,这些策略才是你实际关联到项目上的内容。策略是一组命名后的质量关卡及其阻断/提示属性设置,因此你可以为生产服务设定一套标准,为内部工具采用更宽松的策略。

策略支持版本管理。你发布变更后,如果新质量关卡过于严格,还可回滚到之前的版本。

人工干预

具备权限的人员可以干预阻断型质量关卡。干预记录会被留存——包括操作者、时间及对应任务。

留存记录正是关键所在。无法干预的质量关卡会被人员绕过;而任何人都能随意干预的质量关卡则形同虚设。有记录可查的干预既实用又可追溯。

质量关卡无法做到的事

质量关卡仅校验属性。它们不会评判工作是否解决了正确的问题——这正是需求说明的作用,也是审核要完成的工作。

即使通过所有质量关卡,更改内容仍可能是错误的。