# SonarQube
# 使用场景
使用 SonarQube 检测代码质量
# 配置说明
属性 | 配置说明 |
---|---|
配置文件路径 | sonar-project.properties 该文件默认路径为代码库全路径URL的根下,如果路径不同则需要配置正确路径 |
SonarQube服务器 | 选择已有的SonarQube服务器 |
Sonar质量配置 | Sonar质量配置,非必填,未选按默认,可选多个 |
扫描项目路径 | 扫描项目的绝对路径,如果为空,则为工作空间根目录 |
质量表达式 | 如果为空,则不检查;否则进行指标检查,如果不达标,则任务执行失败,一般根据组织级质量目标确定 bugs<={bug质量目标} && vulnerabilities<={漏洞质量目标} && code_smells<={坏味道质量目标} |
增量扫描 | 勾选执行增量扫描,否则执行全量扫描 |
扫描起始点 | 可提交branch/tag/commitId,填写,执行区间扫描;不填,则默认执行结束点单次commit文件扫描 |
扫描结束点 | 可提交branch/tag/commitId,必填,默认master |
# 扫描结果
- 质量门禁
常用指标项说明
指标项 | 说明 |
---|---|
violations | 所有issue总数,包含Bug,漏洞,坏味道 |
blocker_violations | 所有阻断级issue数量 |
critical_violations | 所有严重级issue数量 |
major_violations | 所有主要级issue数量 |
minor_violations | 所有次要级issue数量 |
info_violations | 所有提示级issue数量 |
bug_violations | issueType为bug的总数 |
bug_blocker_violations | 所有阻断级bug数量 |
bug_critical_violations | 所有严重级bug数量 |
bug_major_violations | 所有主要级bug数量 |
bug_minor_violations | 所有次要级bug数量 |
bug_info_violations | 所有提示级bug数量 |
vulnerability_violations | issueType为漏洞的总数 |
vulnerability_blocker_violations | 所有阻断级漏洞数量 |
vulnerability_critical_violations | 所有严重级漏洞数量 |
vulnerability_major_violations | 所有主要级漏洞数量 |
vulnerability_minor_violations | 所有次要级漏洞数量 |
vulnerability_info_violations | 所有提示级漏洞数量 |
code_smell_violations | issueType为坏味道的总数 |
code_smell_blocker_violations | 所有阻断级坏味道数量 |
code_smell_critical_violations | 所有严重级坏味道数量 |
code_smell_major_violations | 所有主要级坏味道数量 |
code_smell_minor_violations | 所有次要级坏味道数量 |
code_smell_info_violations | 所有提示级坏味道数量 |
coverage | 覆盖率,单元测试覆盖功能代码占所有代码的比例 |
test_success_density | 单元测试成功率,成功的单元测试数量占所有单元测试的比例 |
- 扫描结果预览界面
- 统计结果说明
统计维度 | 说明 |
---|---|
问题统计 | 统计问题类型及严重等级对应的数量 |
代码库统计 | 统计代码行数,代码分布,类文件及方法数量 |
可靠性统计 | 统计bug数量,本次扫描新增bug数量,以及预估修复bug需要的时间 |
安全性统计 | 统计漏洞数量,本次扫描新增漏洞数量,以及预估修复漏洞需要的时间 |
可维护性统计 | 统计坏味道数量,本次扫描新增坏味道数量,预估修复坏味道需要的时间。以及根据新增坏味道数量进行可维护性评级 |
重复率统计 | 统计重复代码行数,重复代码所占比例,重复代码块数及重复的文件数 |
覆盖率统计 | 统计单元测试覆盖代码占总代码的比例,单元测试的数量,单元测试通过的数量占测试总数的比例,单元测试执行所用的时间 |