2014-05-09 35 views
1

我正在爲我想執行質量分析的項目工作。我聽說過關於SonarQube的好消息,想試試。我有以下設置:如何鏈接來自SVN的來源與SonarQube進行分析

SonarQube與服務器上的Sonar Runner for Java一起安裝。它已配置並準備就緒。我的代碼位於本地機器上,遠程位於SVN服務器,與SonarQube主機服務器不同。

我使用Eclipse並安裝了Sonar Eclipse。我想繼續在服務器上進行預定的質量分析,並使用Sonar Eclipse進行本地預覽。目前,我最大的問題是如何讓我的源文件由Sonar Runner分析。

據我在文檔中閱讀,我需要以某種方式將我的代碼連同配置文件一起放入SonarQube Project文件夾中的相應文件夾中。是否沒有將項目鏈接到遠程源文件?

看一些documentation on links這似乎是可能的。但我不明白,例如,SourcesDeveloper connections之間的差異。

回答

0

最簡單的方法是

  • 有無SVN SonarQube主機(客戶端部分)
  • 創建WC你SonarQube主機
  • 的項目在需求更新SonarQube的工作拷貝到實際揚程和執行分析(你還可以向要存儲在存儲庫中的結果/某種方式分開的代碼/和在這種情況下的結果可以被存儲在WC和致力於爲存儲庫)

對於GIT中WOR kflow只會略有不同:你必須有Git裏,克隆回購(一次),拉動需求,提交成果本地回購,但從來沒有推到上游

編輯:

由於mentioned by Patroklos Papapetrou

所有SonarQube客戶端(sonar-runner,maven插件等)要求 該源代碼已經提供你 運行分析的機器

因此,如果你不想(不能)SVN WC上SonarQube 做要分析之後每次提交你只有一個選擇:

  • 。在Subversion服務器端的post-commit鉤子執行

    • 出口倉庫(主幹)樹到一些本地的臨時文件夾
    • (使用任何可用的爲你的方法/ SSH,FTP,rsync的/)到SonarQube的主機目錄(從前面的分析人士釋放),有聲納
    • 傳輸樹-runner可用於
+0

SVN和SonarQube不可能在同一臺主機上。按需更新文件也是我不想做的事情。我想提交我的更改,然後安排分析。 – Eric

+0

閱讀http://sonarqube.15.x6.nabble.com/simple-integration-of-sonarQube-with-just-svn-tp5017436p5017442.html –

+0

的確,我今天多次閱讀。我不想整合任何東西。我的問題是,如何將源代碼鏈接到我的存儲庫?由於每次提交都會更新存儲庫,因此運行分析器將會很好,因爲任何SCM業務都應該是透明的。 – Eric

1

SonarQube本身不會獲取源代碼,項目鏈接部分只是針對文檔。

定期分析存儲庫中源代碼的最簡單方法是使用專用工具(例如cron任務,Windows計劃任務或甚至更好的持續集成服務器)來安排分析。例如,您可以設置一個Jenkins作業從SVN存儲庫獲取源代碼,構建它,運行自動化測試並最終啓動SonarQube Runner。

+0

我不想獲取源代碼,我想告訴它在哪裏可以找到它。那個位置恰好是我的SVN服務器。 (很少我可能會添加)文檔不指定項目文件夾必須駐留的位置! – Eric

+0

請閱讀我的第一句話:它不會從您的SVN存儲庫中自行獲取源代碼。 – Mithfindel

+0

謝謝你的回覆。我知道它不會獲取源代碼,正如我所說的,這不是我想要做的。代碼將保持在原來的位置。我想爲SonarQube設置一個遠程源文件夾。 – Eric