【问题标题】:How can I run all sonar rules on intellij如何在 intellij 上运行所有声纳规则
【发布时间】:2018-08-06 17:53:55
【问题描述】:

我们使用的是 sonarqube 6.7 版。我想在我的 Intellij Idea 上本地执行所有带有阻止程序和严重严重性的声纳错误和漏洞 Java 规则。我想在我的 IDE 中配置的多个 IDEA 项目上运行这些规则

我已安装 SonarLint 插件(版本 3.2)并将其配置为绑定到声纳服务器。在从“项目文件”选项卡运行分析时,我得到所有 iml 文件的错误

“无法分析文件‘feature.iml’。跳过: F:/modules/feature.iml"

我的目标是识别在我的项目中失败的所有声纳规则,以便我可以在声纳服务器上激活它们以作为 CI 的一部分定期运行。首先,我想从阻止程序和严重漏洞开始。

有人可以指导我吗?

【问题讨论】:

    标签: sonarqube sonarlint sonarlint-intellij


    【解决方案1】:

    您应该在分配给 SonarQube 中的项目的质量配置文件中激活所有具有所需严重性的规则。然后,您可以将 IntelliJ 中的项目绑定到 SonarQube 中的项目。 SonarLint 将使用相同的质量配置文件。

    关于 iml 文件,这不是错误。 SonarLint 将从分析中排除某些对分析没有意义的文件,例如二进制文件。

    【讨论】:

    • 服务器上已经激活了一些规则和配置文件。要查看哪些其他规则对我的项目有意义,我想先在本地运行这些规则,然后在适当的情况下在服务器上激活。我怎样才能做到这一点?如果只是跳过了 iml 文件,则除了这些错误日志之外,“日志”选项卡中不会显示其他分析。我如何知道 sonarlint 分析已执行以及我在哪里看到违规行为?
    • 目前您无法直接在 SonarLint 中自定义规则。您只能通过在服务器中激活它们来做到这一点。当您对所有项目文件运行分析时,问题应该出现在同一个视图中 - 在 SonarLint 工具视图的“项目文件”选项卡中。
    • 如果不通过 ide,还有其他在本地运行规则的方法吗?我们可以导出规则(以某种方式?)并在本地运行它们吗?顺便说一句,当我对所有项目文件运行分析时,它是否在默认质量配置文件激活的规则上运行?
    • 当您说“在本地运行规则”时,您的意思是不将结果发布到 SonarQube 吗?如果是这样,则没有不推荐的方式来做到这一点。对所有项目文件运行分析与任何其他分析具有相同的行为:它将在独立模式下运行默认规则集。如果它连接到 SonarQube 项目中的项目,它将使用分配给 SonarQube 中该项目的质量配置文件。如需进一步讨论,您可以在 Sonarlint google 组中打开一个主题。
    • 是的,我的意思是从 sonarQube 服务器获取所有规则,在 IDE 中本地运行它们,而不是将结果发布回服务器上。我提到的目标是确定在服务器上启用哪些规则有意义,而不会影响当前的质量配置文件和 CI 构建。
    猜你喜欢
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    相关资源
    最近更新 更多