【问题标题】:How to configure SCM support for MSBuild SonarQube Runner?如何为 MSBuild SonarQube Runner 配置 SCM 支持?
【发布时间】:2015-11-18 18:01:45
【问题描述】:

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

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 文件,并且在分析时传递了项目属性。如果是这种情况,我应该如何传递它们?

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

提前致谢。

【问题讨论】:

    标签: sonarqube sonarqube5.1 tfvc sonarqube-msbuild-runner


    【解决方案1】:

    其他属性在其begin 阶段使用以下语法传递给 MSBuild SonarQube Runner:/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

    【讨论】:

    • 我最初的问题已经解决了 :) 但请原谅我没有得到答案的最后一部分。 sonar.projectBaseDir 的值是解决方案文件夹,它也是工作区,但现在日志显示 Unable to TFS annotate the following file which is not in a mapped TFS workspace: ~file name with the absolute path,解决方案中的所有文件都会发生这种情况,因此不会对它们进行分析。
    • 最后一部分是关于自动检测 TFS 被用作 SCM,从而避免您必须显式设置 sonar.scm.provider=tfvc
    • 您的新问题可能与github.com/SonarCommunity/sonar-scm-tfvc/pull/7 有关 - 我将构建 SonarQube SCM TFVC 插件的快照版本,以便您测试它是否解决了此问题
    • 您可以安装这个 pre-release(即 NOT PRODUCTION READY)版本的 SonarQube SCM TFVC 插件来测试该拉取请求并让我们知道它是否有助于解决您的问题:github.com/SonarCommunity/sonar-scm-tfvc/releases/download/PR7/…
    • 感谢 @Dinesh 的帮助 :) 更新的 TFVC 快照 TfsAnnotate 抛出 NullReferenceException :(
    猜你喜欢
    • 2016-03-01
    • 2015-10-18
    • 2016-12-08
    • 2016-02-27
    • 2022-11-08
    • 2017-08-24
    • 2018-03-17
    • 2019-12-16
    • 2016-01-16
    相关资源
    最近更新 更多