将 SonarQube 与 TeamCity 和 C# / .NET 结合使用

Using SonarQube with TeamCity and C# / .NET

我们使用 TeamCity 作为构建服务器 - 如何将 TeamCity 设置为 运行 针对 C# / .NET 解决方案的 SonarQube 分析?

我认为我们需要将 MSBuild 运行ner 作为命令行任务执行,因为 TeamCity SonarQube 运行ner 不会调用 MSBuild SonarQube 运行娜.

(如果http://docs.sonarqube.org/display/PLUG/C%23+Plugin描述了这个场景就好了。)

编辑

原来的post里的URL变了。正确的 link 是 here.

你是对的:MSBuild SonarQube Runner 的构建 step/tasks 可用于 Team Foundation Server 2015(以及即将推出的 Jenkins)开箱即用 - 但不适用于 TeamCity。您确实需要使用命令行 step/task 手动调用 MSBuild SonarQube Runner 开始和结束阶段,以及介于两者之间的 MSBuild。

从那里开始,实际配置和用法与命令行场景相同,这就是 TeamCity 没有自己的文档的原因。

这是我通过构建任务运行所做的

  1. 将以下命令作为 .cmd 文件放入解决方案根目录

    cd %system.agent.home.dir%
    C:\sonarqube\bin\MSBuild.SonarQube.Runner.exe begin /key:MyKey /name:MyProjectName /version:1
    "C:\Program Files (x86)\MSBuild.0\Bin\msbuild.exe" MySolution.sln /t:Rebuild 
    C:\sonarqube\bin\MSBuild.SonarQube.Runner.exe end
    
  2. 在 TeamCity 中创建一个 "Command" 任务并执行 .cmd 文件