2015-10-07 37 views
0

我正在嘗試在開發人員機器上使用具有自定義質量配置文件的Dockered Sonarqube。已經有一箇中央服務器,但它是一個非常舊的版本,我們希望開發人員有一個本地實例來檢查他們在分支中工作時的代碼(中央聲吶只查看Git master,所以錯誤只會顯示合併後)。總體規劃是建立一個GoCD管道,通過規則XML提交它,併爲本地使用構建新的Docker映像。迄今所採取重新導入導出的質量配置文件似乎失去了規則

步驟:

  • 登錄到老(3.6.1)Sonarqube和導出規則
  • 開始清潔Sonarqube泊塢窗(sonarqube:5.1),並導入規則
  • 現在有很多不贊成使用的規則,請仔細閱讀並更換新規則。這也擺脫了一些重複,這很好。

現在對於奇怪的部分/問題:完成上述操作後,我剩下一個包含211條規則的5.1 sonarqube質量配置文件。當我在'<規則>'上導出這些和grep時,有211個標籤,因此看起來像它們都在那裏。但是當我啓動另一個乾淨的sonarqube:5.1圖像並使用curl POST重新導入剛剛創建的xml時,我只能看到控制檯中報告的106條規則;導出它們給我留下了一個包含106'<規則>'標籤的文件。

我還不確定,但兩個導出的XML文件的快速差異看起來像顯示checkstyle和pmd repositoryKeys可能會丟失。

如果有人有任何指針,以正在發生的事情在這裏,他們會非常歡迎的,因爲我在這一點上有點難倒(我這麼近......)

回答

0

首先,可能會考慮SonarLint,它爲開發人員提供了3個IDE的無需連接到服務器的實時檢查(因此它在分支機構上工作得很好)!

但它與一個默認的配置文件上運行,所以如果不爲你做到這一點:

SonarQube不再用的CheckStyle和PMD插件默認出廠,所以這就是爲什麼這些規則缺失。

絕大多數的CheckStyle和PMD的規則已經在Java插件的更新版本反正取代,所以我會建議是這樣的:

  • 旋轉了一個新的5.1
  • 安裝Checkstyle的& PMD插件
  • 進口從3.6服務器
  • 使用該接口的配置文件來替換他們的Java插件替換過時的ChechStyle & PMD規則
  • 決定你可以生活在沒有未置換剩餘;)
  • 導出更新的配置文件,並使用種子的碼頭工人形象
+0

謝謝你的更新。根據你寫的內容,我最終修改了Docker構建環境和Dockerfile,以便在上傳規則之前將插件添加到圖像中。這樣,我輸出的所有內容仍然存在於新圖像中。 –

相關問題