2012-08-08 58 views
1

我目前正在爲具有大量Java代碼庫的大型(50+)開發團隊部署Sonar。我無法與Sonar一起制定有效的工作流程。這裏有一些問題:在大型團隊中使用Sonar的最佳方式是什麼?

  1. 如果開發者使用的聲納亞軍對中央服務器掃描其代碼:
    1. 他們需要上傳的代碼噸的,雖然他們有興趣在一個小的組類
    2. 他們發生衝突,因爲他們上載不同版本的
  2. 運行聲納本地,使用Eclipse插件,再次引發問題的同一個文件:
    1. 它分析所有的代碼,而你只關心特定的文件
    2. 它沒有在服務器上定義的誤報的知識 - 這樣你就與不必要的警告
  3. 我綜合聲吶在每晚構建淹沒,但那麼開發人員僅在T + 1時纔會收到代碼問題。更糟的是 - 開發者檢查未掃描的代碼。

如何才能實現工作流程是:

  • 允許開發者分析具體代碼前入住
  • 是否由「重開」不能負擔開發商誤報一個被忽略的文件
  • 開發人員不會「覆蓋」彼此對未提交文件的分析
  • 與標準版本(Maven,SVN)集成以監控在
+0

問:當你說大代碼庫時 - 它是100個項目,每個包含50個Java文件還是1個項目包含5000個java文件? – 2012-08-08 06:10:20

+0

這[SO問題](http://stackoverflow.com/questions/11266854/can-sonar-plugin-exclusions-be-configured-for-local-analysis-without-a-local-ser)可能會有所幫助。基本上使用本地PMD和Checkstyle – 2012-08-08 06:34:40

+0

@Pulak - 8個項目,每個項目由幾百個類組成。引用的答案沒有解決我的問題,但謝謝。 – 2012-08-09 12:00:00

回答

1

我們在我們團隊中做的是,我們已經配置Jenkins,每次在普通SVN上提交代碼時都會調用聲納。

在詹金斯我們的小型項目(少於20個班),每個程序員都可以用他感興趣的項目,創建自己的儀表板頁面萬。

此外,您可以設置詹金斯與Maven使項目相互依存。如果更改只發生在一個視圖項目中(通常是最新的構建過程),它將阻止完全重建。

+0

這可能是正確的答案。你能澄清一下: - 這是我的開發人員通常首先登記並在當天晚些時候接收聲納輸入嗎? - 爲什麼你需要這麼多小項目?它與你的特定環境有關還是由於一些詹金斯 - 聲納限制? – 2012-08-09 12:02:54

+0

1.是的,開發商一旦評估(從5分鐘到1小時後),就立即登記並收到聲納結果。 2.小​​型項目的數量只與我們的環境有關,不與聲納或詹金斯有關。 – YMomb 2012-08-09 13:15:27

+0

對於checkstyle來說,我們所做的事情是,您可以將配置設置爲Maven Checkstyle插件的Maven依賴項。然後開發人員可以在簽入前運行本地checkstyle規則和項目特定配置。我猜想可以爲findbugs/sonar/pmd maven插件設置相同的模式。 – YMomb 2012-08-09 13:19:14

相關問題