【问题标题】:Using SonarQube with TeamCity and C# / .NET将 SonarQube 与 TeamCity 和 C# / .NET 结合使用
【发布时间】:2016-01-17 21:22:02
【问题描述】:

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

我想我们需要将 MSBuild 运行器作为命令行任务执行,因为 TeamCity SonarQube 运行器不调用 MSBuild SonarQube 运行器。

(如果 http://docs.sonarqube.org/display/PLUG/C%23+Plugin 描述了这种情况,那就太好了。)

编辑

原帖中的网址已更改。正确的链接是here

【问题讨论】:

    标签: msbuild sonarqube teamcity sonarqube-msbuild-runner


    【解决方案1】:

    这是我通过构建任务运行它的方法

    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\14.0\Bin\msbuild.exe" MySolution.sln /t:Rebuild 
      C:\sonarqube\bin\MSBuild.SonarQube.Runner.exe end
      
    2. 在 TeamCity 中创建“命令”任务并执行 .cmd 文件

    【讨论】:

    • 所以this plugin 没有使用msbuild.sonarqube.runner??那我该如何整合我的 nunit 和 dotcover 部分??
    • 您所指的插件似乎基于 sonar runner 2.4。 SonarQube 扫描仪的旧版本。至少他们最新的 TC 10.x TeamCity 版本基于此版本:teamcity.jetbrains.com/…
    • 答案没有为我解决(日志结束):SonarQube MSBuild 集成失败:SonarQube 无法收集有关您的项目的所需信息。 [11:53:51][Step 3/3] 可能原因:[11:53:51][Step 3/3] 1. 项目尚未构建 - 项目必须在开始和结束步骤之间构建[11:53:51][步骤 3/3] 2. 使用了不受支持的 MSBuild 版本来构建项目。目前支持 MSBuild 12.0 以上 [11:53:51][Step 3/3] 3. 开始、构建或结束步骤并未全部从同一文件夹启动
    • 似乎错误信息很清楚。是否可以升级 MSBuild 版本?
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-09
      • 1970-01-01
      • 2016-09-09
      • 1970-01-01
      • 2020-06-19
      相关资源
      最近更新 更多