在软件质量管理过程中,SonarQube质量规则用于约束代码检查标准,帮助开发团队发现潜在问题。实际使用SonarQube时,质量规则配置并不是一次完成后长期不变,随着项目语言、编码规范以及团队要求变化,经常需要调整规则内容。部分用户在修改规则后会发现扫描结果没有变化,甚至新规则没有参与检查,这类问题通常和规则激活状态、质量配置、项目绑定关系以及扫描缓存有关。因此,配置SonarQube质量规则时,需要确认规则应用范围,并在修改后检查对应项目是否真正加载了新的配置。
一、SonarQube怎么配置质量规则
SonarQube中的质量规则主要通过规则管理页面进行配置,再将规则加入质量配置供项目使用。配置前,需要先明确项目需要检查的语言和代码规范。
1、进入质量规则管理页面
配置规则前,需要先进入SonarQube规则管理区域。
①、打开【SonarQube】。
②、登录管理员账号。
③、进入【质量规则】页面。
④、查看当前规则列表。
⑤、选择需要调整的规则。
⑥、进入规则详情页面。
质量规则页面中包含不同语言对应的检查规则,需要根据项目实际开发语言进行选择。
2、创建或调整质量配置
项目实际使用的规则通常由质量配置统一管理。
①、打开【质量配置】页面。
②、选择目标语言。
③、创建新的【质量配置】。
④、设置配置名称。
⑤、保存配置内容。
⑥、进入规则绑定页面。
质量配置用于管理项目使用哪些规则,修改规则后需要确认项目是否关联了对应配置。
3、激活需要使用的规则
规则创建或调整后,需要启用到质量配置中。
①、打开【规则列表】。
②、选择目标规则。
③、点击【激活】。
④、选择对应【质量配置】。
⑤、确认激活状态。
⑥、保存修改结果。
只有处于激活状态的规则,才会参与后续代码扫描。
4、修改规则参数
部分规则支持调整检查参数,需要根据项目要求进行修改。
①、打开【质量规则】。
②、选择目标检查规则。
③、进入【规则详情】。
④、修改规则参数。
⑤、保存规则设置。
⑥、确认修改内容。
规则参数调整后,需要重新执行代码分析,才能查看新的检查结果。
5、关联项目质量配置
完成规则配置后,需要确认项目使用了对应质量配置。
①、打开【项目设置】。
②、进入【质量配置】。
③、查看当前绑定配置。
④、选择目标【质量配置】。
⑤、保存项目设置。
⑥、确认绑定状态。
项目没有关联新的质量配置时,即使规则修改成功,扫描结果也不会发生变化。
二、SonarQube质量规则修改后没有生效如何排查
质量规则修改后结果没有变化时,需要从规则状态、项目配置以及扫描过程几个方面进行检查。
1、检查规则是否已经激活
规则修改完成后,需要确认规则是否处于启用状态。
①、打开【质量规则】。
②、搜索目标规则。
③、查看规则状态。
④、确认所属质量配置。
⑤、检查激活信息。
⑥、重新执行扫描。
如果规则没有激活,扫描过程不会加载该检查项。
2、检查项目绑定的质量配置
项目未使用修改后的配置,是规则不生效的常见原因。
①、打开【项目设置】。
②、进入【质量配置】。
③、查看当前绑定内容。
④、确认规则所属配置。
⑤、修改绑定关系。
⑥、保存项目设置。
项目使用的质量配置需要和修改规则时选择的配置保持一致。
3、检查扫描工具配置
SonarQube服务器中的规则修改后,还需要确认扫描端使用正确配置。
①、打开项目扫描配置文件。
②、检查【项目配置】。
③、确认服务器地址。
④、检查项目标识。
⑤、重新执行扫描命令。
⑥、查看扫描日志。
扫描工具连接到错误实例或者错误项目时,可能导致看到旧的检查结果。
4、检查扫描结果缓存
部分情况下,旧扫描结果会影响查看判断。
①、打开【项目分析记录】。
②、查看最近扫描时间。
③、确认最新扫描是否完成。
④、重新执行代码分析。
⑤、刷新项目结果页面。
⑥、查看新的问题列表。
需要确认当前查看的是修改规则后的最新分析结果。
5、检查规则适用范围
部分规则只针对特定语言或代码类型生效。
①、打开【规则详情】。
②、查看适用语言。
③、检查项目代码类型。
④、确认规则匹配范围。
⑤、调整规则配置。
⑥、重新扫描项目。
如果规则和项目代码类型不匹配,修改后也不会产生新的检查结果。
三、SonarQube质量规则调整后如何确认
完成质量规则修改后,需要确认新的配置是否已经应用到项目扫描中。实际排查过程中,规则页面显示修改成功,并不代表项目分析结果已经同步变化,还需要结合项目配置和扫描记录进行确认。
1、查看规则检查结果
①、打开【项目分析结果】。
②、查看新增问题列表。
③、检查对应规则名称。
④、确认问题检测位置。
⑤、记录验证结果。
2、检查扫描执行信息
①、打开【扫描日志】。
②、查看规则加载信息。
③、确认项目名称。
④、检查分析执行状态。
⑤、保存日志内容。
3、整理质量规则变更记录
①、打开【质量配置】。
②、记录修改规则。
③、填写调整时间。
④、保存配置变化。
⑤、完成规则维护。
总结
SonarQube质量规则调整后,需要确认修改内容是否真正进入项目扫描流程。实际使用过程中,规则配置页面中的变化只是完成了服务器端调整,项目绑定关系和扫描执行情况同样会影响最终结果。遇到规则没有生效的问题时,可以从配置关联、扫描记录以及检测结果几个方面进行查看。做好质量规则维护记录,有助于后续排查类似问题。希望本文能够帮助使用SonarQube的人员,在配置代码检查规则和处理规则未生效情况时更加顺利。