Quality Gates
概述
Quality Gates是在您的产品线进行代码质量管理的最佳方法。 在这里可以回答一个问题:我现在可以将我的项目交付给生产吗?
为了回答这个问题,您可以根据测量项目的度量阈值来定义一组布尔条件。 例如:
No new blocker issues
Code coverage on new code greater than 80%
...
理想情况下,所有项目都将按照同样的Quality Gates进行验证,但这并不总是实用的。 例如,你可能会发现:
- 技术实现与一个应用程序不同(您可能不需要针对Web或Java应用程序的新代码覆盖相同的代码)
- 您希望确保对某些应用程序(例如内部框架)的更高要求
- ...
这就是为什么你可以根据自己的意愿定义多少个Quality Gates。 Quality Gates在顶级菜单中的“Quality Gates”页面中进行了定义和管理。
配置Quality Gates
质量门(Quality Gates)由SonarSource提供,默认情况下激活。 它体现了Fixing the Water Leak概念。 在每个SonarQube版本中,我们根据SonarQube的功能来调整这个默认质量门。
借助SonarQube 6.4,您可以使用三种新的指标,使您可以强制执行给定的可靠性,安全性和可维护性等级,而不仅仅是整体性,而且还适用于新的代码。 现在推荐这些新的指标,作为默认质量门户的一部分。 我们强烈建议您调整自己的质量门,使用它们使您的开发者在其项目页面上看到他们的质量门更加清晰。
不要忘记质量门条件必须使用差分值。 例如,无法检查绝对值,例如:代码行数大于1000。
推荐Quality Gates
Quality Gate 状态
当前状态显示在顶部的Project Page:
当Quality Gate失败时获得通知
由于通知机制,质量门失败时可以通知用户。 为此,请订阅所有项目或一组您感兴趣的项目的新质量门状态通知。
安全方面
任何用户(甚至匿名用户)都可以访问质量门。 所有用户都可以查看质量门的各个方面。
要进行更改(创建,编辑或删除)用户,必须授予“管理Quality Profiles和Gates”权限。
项目管理员可以选择他/她的项目所关联的质量门。 请参阅Project Settings了解更多。
自定义Quality Gate
为了管理我们的Quality Gate,请点击顶部的“Quality Gate”
每个Quality Gate条件是一个组合:
measure
period:Value(to date) orLeak (differential value over the Leak period)
comparison operator
warning value (optional)
error value (optional)
例如,条件可能是:
measure: Blocker issue
period: Value
comparison operator: >
error value: 0