0

我有一个控制台项目,想禁用Console logging should not be used它的规则。但似乎 MSBuild 没有在项目配置 ( ) 中添加这些排除项(在代理日志或 .sonarqube 日志中找到的任何内容sonar.issue.ignore.multicriteria)。

规则键模式:csharpsquid:S2228

文件路径模式:**/MyProject/**/*.*

我是否必须有一个配置文件或 MSbuild 应该检索项目的声纳配置?

对于第一个项目,运行器尝试获取服务器规则:

2016-01-29T08:37:36.3162048Z 09:37:36.217 INFO  - -------------  Scan FisrtProject
2016-01-29T08:37:36.3172057Z 09:37:36.288 INFO  - Load server rules
2016-01-29T08:37:36.8185565Z 09:37:36.629 INFO  - Load server rules (done) | time=341ms

但不是其他人。我认为,由于该规则和该文件的跑步者已经通过了一次,这些默认值不会自动删除,但是我应该找到有关此的日志吗?

我尝试改变sonar.global.exclusions并且sonar.exclusions他们被跑步者发现。

4

2 回答 2

0

SonarQube.Issue.* 属性都不能通过命令行设置,因为它们是多值的。请在此处找到官方文档

You can have SonarQube ignore issues on certain components and against certain coding rules. Go to Administration > General Settings > Analysis Scope > Issues.
Note that the properties below can only be set through the web interface because they are multi-valued.

这些是 SonarQube 问题属性:

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

如果要为所有 SonarQube 项目全局设置此属性,请转到 SonarQube 服务器的管理 -> 分析范围:

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

在此处输入图像描述

如果您想将此排除应用于特定 SonarQube 项目,请选择该项目,然后浏览该项目 -> 管理 -> 分析范围。

于 2018-06-01T15:04:14.357 回答
0

sonar.exclusions / sonar.global.exclusions 不是您想要使用的。它们用于从分析中排除文件而不是规则。要排除专门针对项目的规则,您必须在 SonarQube 中定义质量配置文件并从配置文件中删除该规则,并将该质量配置文件分配给您的项目。您可以将标准配置文件复制到新配置文件中并删除新配置文件上的规则,或者使用更灵活的质量配置文件继承机制(控制台应用程序的 QP 继承自默认 QP 减去 csharpsquid:S2228 规则)然后运行分析为通常。

于 2016-02-01T17:08:22.227 回答