Msbuild 将SonarQube与TeamCity和C#/.NET一起使用

Msbuild 将SonarQube与TeamCity和C#/.NET一起使用,msbuild,sonarqube,teamcity,sonarqube-msbuild-runner,Msbuild,Sonarqube,Teamcity,Sonarqube Msbuild Runner,我们使用TeamCity作为构建服务器-如何设置TeamCity来运行C#/.NET解决方案的SonarQube分析 我认为我们需要将MSBuild运行程序作为命令行任务执行,因为TeamCity SonarQube运行程序不调用MSBuild SonarQube运行程序 (如果能描述这个场景,那就太好了。) 编辑 原始帖子中的URL已更改。正确的链接是.< /p> 你是对的:对于Team Foundation Server 2015(很快詹金斯),MSBudio SONARQUBE转发器有可用

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

我认为我们需要将MSBuild运行程序作为命令行任务执行,因为TeamCity SonarQube运行程序不调用MSBuild SonarQube运行程序

(如果能描述这个场景,那就太好了。)

编辑


原始帖子中的URL已更改。正确的链接是.< /p> 你是对的:对于Team Foundation Server 2015(很快詹金斯),MSBudio SONARQUBE转发器有可用的构建步骤/任务,但不适用于Team Case.您确实需要使用命令行步骤/任务手动调用MSBuild运行程序开始和结束阶段,以及介于两者之间的MSBuild


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

下面是我通过构建任务运行此任务所做的

  • 将以下命令作为.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
    
  • 在TeamCity中创建“命令”任务并执行.cmd文件


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