2015-10-19 139 views
4

我們使用的TeamCity作爲我們構建服務器 - 如何建立一個以TeamCity的爲C#/。NET解決方案運行SonarQube分析?使用SonarQube用的TeamCity和C#/。NET

我想我們需要執行的MSBuild亞軍爲自TeamCity的SonarQube亞軍不會調用的MSBuild SonarQube亞軍命令行任務。

(如果 http://docs.sonarqube.org/display/PLUG/C%23+Plugin 描述這種情況下這將是巨大的。)

編輯

在原崗位的URL已更改。正確的鏈接是here

回答

3

你是對的:MSBuild SonarQube Runner的構建步驟/任務可用於Team Foundation Server 2015(很快Jenkins) - 但不適用於TeamCity。您的確需要使用命令行步驟/任務來手動調用MSBuild SonarQube Runner開始和結束階段以及MSBuild。

從那裏,實際配置和使用等同於命令行的情況下,這就是爲什麼TeamCity的不具有其自己的文檔。

3

這裏是我做的通過生成任務

  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文件

+0

so [this plugin](https://confluence.jetbrains.com/display/TW/SonarQube+Integrati上)沒有使用msbuild.sonarqube.runner?那麼我如何整合我的nunit和dotcover部分? – harishr

+0

你所指的插件似乎基於聲納亞軍2.4。 SonarQube掃描儀的舊版本。至少他們最新的TeamCity爲TC 10.x構建基於以下版本:https://teamcity.jetbrains.com/viewType.html?buildTypeId=TeamCityPluginsByJetBrains_TeamCitySonarQubePlugin_Build100x – Alix

+0

答案並沒有爲我解決(日誌結束): SonarQube MSBuild集成失敗:SonarQube無法收集有關您項目的必需信息。 [11時53分51秒] [步驟3/3]可能的原因: [11時53分51秒] [步驟3/3] 1.項目尚未建成 - 該項目必須建立在之間的開始,結束步驟 [11:53:51] [步驟3/3] 2. MSBuild的不受支持的版本已被用於構建項目。目前的MSBuild 12.0向上被支撐 [11點53分51秒] [步驟3/3] 3.開始,建立或結束步驟沒有全部被從同一文件夾 – Alix