在持续集成中使用质量门禁
功能介绍
CODING 持续集成提供质量门禁功能。将质量门禁插件添加到构建流水线中,每次构建时都会自动检测当前代码是否符合预定义的质量标准,从而帮助开发团队在早期发现和解决潜在的代码质量问题,确保交付的软件具备高质量和稳定性。
自定义质量门禁
如果希望在插件中添加质量门禁, 需在 entry 添加 metrics 节点, 声明元数据类型, 并在 status.json 中写入
metrics
。 自定义插件的开发指引参考插件开发手册。质量门禁只支持插件声明中预设的条件判断,暂不支持多指标的加减乘除,如指标需要做二次计算,须在插件中计算完毕后再做上报。
# qciplugin.yml
entry:
start: ...
metrics: # 声明将会上报的元数据
- key: 'metric_name1' # 元数据 key 值
label: '' # 元数据 label 值, 必填,需有可读性
desc: '' # 元数据描述信息, 非必填
value_type: NUMBER # 元数据的数据类型,必填,质量门禁暂只支持 NUMBER
group: "group_name" # 指标分组,非必填
indicator:
available_op: '' # 指标支持的操作符,必填,可选操作LT,LE,EQ,GE,GT,多个操作以英文逗号分隔
default_op: LE # 指标默认操作符, 非必填
default_threshold: true # 指标默认阈值,非必填
- key: 'total_fatal'
label: '当前分支问题量(致命级别)'
desc: ''
value_type: NUMBER
group: "当前分支问题量"
indicator:
available_op: 'LT,LE,EQ,GE,GT'
default_op: 'LE'
default_threshold: null
- key: 'total_error'
label: '当前分支问题量(致命+错误级别)'
desc: ''
value_type: NUMBER
group: "当前分支问题量"
indicator:
available_op: 'LT,LE,EQ,GE,GT'
default_op: 'LE'
default_threshold: null
使用质量门禁
1. 上传团队质量门禁插件
进入「团队设置中心」->「功能设置」->「持续集成」->「构建插件」,点击右上角创建按钮,上传自定义质量门禁插件。
2. 添加质量门禁规则
在「质量门禁」页面中,点击右上角「添加规则」。
定义规则名称,并将上述步骤中上传的团队插件添加至该规则中。
为质量门禁指标设置红线,作为构建是否通过的检验标准。
指定该质量门禁插件的应用范围。
规则添加完成后,需设置为启用状态,方可在构建计划中使用。
3. 在构建计划中添加质量门禁插件
上述两个步骤完成后,你可以进入质量门禁规则应用范围内的构建计划,添加质量门禁。
插件在执行完成后,通过 status file 的方式,上报这次执行时生成的元数据,在基本状态上报基础上,增加如下部分
// status.json
{
"status": "failure", // success, failure, error
...
"metrics": {
"metric_name1": 100, // 根据字段声明,转换为 NUMBER 类型
"total_fatal": 8,
"total_error": 6
...
}
}
质量门禁运行完之后,展示效果如图:
问题反馈 >
2023-08-08最近更新
感谢反馈有用
感谢反馈没用
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。