2016-06-15 47 views
1

Sonar Runner step我們正在嘗試在TeamCity中爲項目(模塊)設置Sonar。我們有以下構建步驟: 1)的NuGet安裝 2)Visual Studio的SLN 3)檢查(.NET) 4)聲納亞軍Sonar Runner不在TeamCity中接收報告xml文件

在聲納亞軍一步,就無法獲得該文件的保持.see圖像2 unable to find that xml file

請幫助指出我在正確的方向如何使它選擇XML文件。

+0

能ÿ從SQR開始顯示該步驟的完整日誌?很高興看到它在錯誤發生之前將值初始化爲什麼,例如-Djava.io.tmpdir = C:\ Data \ TeamCityAgent01 \ temp \ buildTmp,但所有這些對於嘗試和診斷它都很有用。跑步者是否使用DEFAULT JDK路徑? –

+0

它使用默認的jdk路徑。我已經包括了聲納亞軍步驟日誌在我的文章(描述:聲納亞軍步驟) – Nischith

回答

3

這裏的主要技巧是將報告XML傳遞給SonarQube亞軍 - 它可以用/output resharper選項完成(參見下面的步驟#2)。雖然有更多的事情可能會毀了你的一天,所以我組成了一個完整的程序。

  1. 首先確保SonarQube服務器配置正確,接受Resharper數據。您需要安裝Resharper和C#插件並使用Resharper規則配置Quality Profile。要檢查配置,我建議按照Resharper plugin documentation中所述手動運行分析。

  2. 然後配置您的Inspections(.Net)TeamCity構建步驟以在衆所周知的地方創建報告XML:打開高級選項並在「其他inspectCode.exe參數:」添加/output=%system.teamcity.build.tempDir%\inspectReport.xml(或任何其他位置) 。 重要!該步驟將失敗,因爲它預計報告位於默認位置(請參閱issue on YouTrack)。所有後續步驟都需要Execute step: if some of the previous steps failed選項來運行

  3. 在SonarQube亞軍步打開高級選項和「附加參數:」字段中添加此2線(與實際路徑替換pathToSolutionFile):

    -Dsonar.resharper.cs.reportPath=%system.teamcity.build.tempDir%\inspectReport.xml 
    -Dsonar.resharper.solutionFile=pathToSolutionFile 
    
  4. 最後看檢查在TeamCity的UI報告,以及與添加一個新的命令行構建步驟:

    echo "##teamcity[importData path='%system.teamcity.build.tempDir%\inspect.xml' type='ReSharperInspectCode']" 
    
+0

嗨linfar ....感謝您的答覆,它的工作。現在我有一個新問題,我們最近升級到了TeamCity 10,我再次在這裏找到同樣的問題....我複製了一切,因爲它是沒用的....你能幫我嗎 – Nischith

+0

確保你已經將該插件更新爲[最新版本](https://teamcity.jetbrains.com/viewLog.html?buildId=836043&buildTypeId=TeamCityPluginsByJetBrains_TeamCitySonarQubePlugin_Build100x&tab=artifacts)。 第二 - 我已經提到的問題已經修復,所以第四步和'執行步驟:如果以前的某些步驟失敗了'選項現在不需要了。 如果你仍然有問題,我可以幫助你[github](https://github.com/JetBrains/TeamCity.SonarQubePlugin/issues) – linfar