【问题标题】:How to set SonarQube Quality Profile rule如何设置 SonarQube 质量配置文件规则
【发布时间】:2018-11-11 14:43:41
【问题描述】:

在 SonarQube 中,Java Resources should be closed (squid:S2095) 有一条规则。该规则有一个参数excludedResourceTypes

如何设置这个参数?

【问题讨论】:

    标签: sonarqube sonarqube7


    【解决方案1】:

    您可以设置它的一种方法是转到 SonarQube 服务器的管理 -> 分析范围:

    1. 浏览到您的 Sonar 实例:http://servername:9000
    2. 以管理员身份登录
    3. 点击管理
    4. 选择左侧的分析选项卡
    5. 转到问题块并查看“忽略多个标准的问题”

    例如,如果您想限制以下 COBOL 规则:“防止 GO TO 语句将控制权转移到当前模块之外”位于目录 bank/creditcard 和 bank/bankcard => 这需要两个标准来定义它:

     key: cobol:COBOL.GotoTransferControlOutsideCurrentModuleCheck; path:
        bank/creditcard/**/*
    
        key: cobol:COBOL.GotoTransferControlOutsideCurrentModuleCheck; path:
        bank/bankcard/**/*
    

    更新

    您可以让 SonarQube 忽略某些组件和针对 一定的编码规则。转到管理 > 常规设置 > 分析范围 > 问题。请注意,下面的属性只能是 通过 Web 界面设置,因为它们是多值的。

    任何 SonarQube.Issue.* 属性都不能通过命令行设置,因为它们是多值的。请在这里找到官方documentation

    这些是 SonarQube 问题属性:

    • 忽略文件上的问题 - 键:sonar.issue.ignore.allfile
    • 忽略块中的问题 - 键:sonar.issue.ignore.block
    • 忽略多个条件的问题 - 键:sonar.issue.ignore.multicriteria
    • 限制编码规则的范围 - 键:sonar.issue.enforce.multicriteria

    如果您希望将此规则应用于特定的 SonarQube 项目,您可以前往 SonarQube:

    1. 浏览项目
    2. 选择您的项目
    3. 浏览至管理 -> 常规设置 -> 分析范围并设置如上所示的值。

    SOURCE

    ***更新 2:进行谷歌搜索看起来有办法通过 POM.xml 传递此属性:https://stackoverflow.com/a/21825470/1766402 但不是按照官方文档。

    【讨论】:

    • 感谢您的回答。你知道吗,是否也可以将其添加到 sonar-project.properties
    • 所以你想在项目级别而不是全局设置这个属性对吗?如果是,那么您可以在项目 -> 管理选项卡中进行设置。但是你不能通过命令行传递这个:注意下面的属性只能通过网络界面设置,因为它们是多值的。
    • 嘿,我正在做一些搜索 - 并遇到了这个答案,看起来你可以通过 pom.xml 传递这些属性:stackoverflow.com/a/21825470/1766402
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-30
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 2017-06-15
    相关资源
    最近更新 更多