2015-08-25 75 views
0

我使用SonarQube 5.1的MSBuild SonarQube亞軍爲我們的質量檢查。目前SCM支持不存在,但我已經安裝了TFVC插件。我得到以下日誌從分析過程如何爲MSBuild SonarQube Runner配置SCM支持?

07:18:22 07:18:22.352 INFO - Sensor SCM Sensor 
07:18:22 07:18:22.352 INFO - No SCM system was detected. You can use the 'sonar.scm.provider' property to explicitly specify it. 
07:18:22 07:18:22.352 INFO - Sensor SCM Sensor (done) | time=0ms 

然後我設置在一般的「sonar.properites」下面的屬性文件在\ sonarqube-5.1.2 \ conf文件夾loacated(我可能是錯的做)

sonar.scm.enabled=true 
sonar.scm.provider=tfvc 
sonar.tfvc.username=myTFSusername 
sonar.tfvc.password.secured=myTFSpassword 

我想這些性能應在「sonar-project.properties」文件中進行設置,並在分析的時間(糾正我,如果我錯了)通過。但問題是,因爲我使用的MSBuild SonarQube亞軍,sonar-project.properties文件不再使用和項目性質的分析時間過去了。如果是這種情況,我應該如何傳遞它們?

我搜索了很多,但無法以這種方式找到合適的解決方案,如果有人能幫忙,我會很高興。

在此先感謝。

回答

1

使用以下語法在begin階段將其他屬性傳遞給MSBuild SonarQube轉輪:/d:key=value

所以,你可以把所有的人:如果在「項目基地目錄」水平$tf單片機的

MSBuild.SonarQube.Runner begin /k:... /n:... /v:... /d:sonar.scm.enabled=true /d:sonar.scm.provider=tfvc /d:sonar.tfvc.username=... /d:sonar.tfvc.password.secured=.... 

自動檢測會。該目錄被計算爲所有* .csproj文件共有的第一個祖先路徑。你可以看到它在end階段生成的文件以下值:.sonarqube\out\sonar-project.properties。在文件結尾附近查找sonar.projectBaseDir屬性值。詳情請參閱https://jira.sonarsource.com/browse/SONARMSBRU-8

+0

我最初的問題已解決:)但原諒我我沒有得到答案的最後部分。 sonar.projectBaseDir'的'值是解決方案的文件夾,這也是工作空間,但現在的日誌說'無法TFS批註下面的文件是不是在映射的TFS工作區:〜具有絕對path'文件名和發生這種情況對於解決方案中的所有文件,以便不分析它們。 – ChatSamee

+0

最後一部分是關於自動檢測TFS被用作SCM,所以爲了防止你必須明確設置'sonar.scm.provider = tfvc' –

+0

你的新問題可能與https:// github有關。 com/SonarCommunity/sonar-scm-tfvc/pull/7 - 我將構建SonarQube SCM TFVC插件的快照版本,以便您可以測試它是否修復此問題 –

相關問題