1

我正在使用带有 MSBuild SonarQube Runner 的 SonarQube 5.1 进行质量检查。虽然我已经安装了 TFVC 插件,但目前不支持 SCM。我从分析过程中得到以下日志

07:18:22  07:18:22.352 INFO  - Sensor SCM Sensor
07:18:22  07:18:22.352 INFO  - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it.
07:18:22  07:18:22.352 INFO  - Sensor SCM Sensor (done) | time=0ms

然后我在 \sonarqube-5.1.2\conf 文件夹中的一般“sonar.properites”文件中设置以下属性(我可能做错了)

sonar.scm.enabled=true
sonar.scm.provider=tfvc
sonar.tfvc.username=myTFSusername
sonar.tfvc.password.secured=myTFSpassword

我猜这些属性应该在“sonar-project.properties”文件中设置并在分析时传递(如果我错了,请纠正我)。但问题是由于我使用的是 MSBuild SonarQube Runner,因此不再使用 sonar-project.properties 文件,并且在分析时传递了项目属性。如果是这种情况,我应该如何传递它们?

我进行了很多搜索,但无法以这种方式找到合适的解决方案,如果有人可以提供帮助,我将非常高兴。

提前致谢。

4

1 回答 1

1

其他属性在 MSBuild SonarQube Runnerbegin阶段使用以下语法传递给它:/d:key=value.

因此,您可以通过所有这些:

MSBuild.SonarQube.Runner begin /k:... /n:... /v:... /d:sonar.scm.enabled=true /d:sonar.scm.provider=tfvc /d:sonar.tfvc.username=... /d:sonar.tfvc.password.secured=....

如果$tf在“项目基础目录”级别存在,则 SCM 的自动检测将起作用。该目录被计算为所有 *.csproj 文件共有的第一个祖先路径。您可以在阶段生成的文件后面看到它的值end.sonarqube\out\sonar-project.properties. sonar.projectBaseDir在文件末尾附近查找属性值。有关详细信息,请参阅https://jira.sonarsource.com/browse/SONARMSBRU-8

于 2015-08-25T13:05:48.463 回答