使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

前言碎語

博主所在公司是個創業公司,項目開發是典型的敏捷迭代模式,快速開發上線,後面再持續迭代需求。項目秩序迭代到一定階段後,發現留下了很多代碼質量方面的技術棧。下面博主會使用sonarqube詳細介紹並搭建一個代碼可持續優化的質量管控平臺,解決這些問題。

sonarqube是什麼?

sonarqube是一個開源的代碼質量管控平臺,代碼檢測規則可定製,支持java,C++等語言的代碼質量檢測。權限體系完善。周邊插件非常豐富,基於這些周邊產品可以很輕鬆的搭建一套完整的可持續優化的代碼質量管控平臺。

平臺流程走向如下:

1..jenkins上持續集成時,使用jenkins的sonar插件,將掃描結果上傳到sonarqube平臺,sonarqube平臺有各種視圖展示掃描結果,如圖。所有問題可以指定到人

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

2.開發認領到自己的代碼質量問題後,通過IDEA插件,可以在次檢測下,直到修復完成提交,如圖:

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

環境搭建

sonarqube安裝

官網地址:https://www.sonarqube.org/#_

下載好安裝包解壓後結構如下:

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

我們需要關注兩個目錄,bin,conf,bin目錄下有系統對應的啟動腳本,Windows下除了啟動腳本外,還提供了註冊成service的腳本,和卸載service的腳本。conf下包含了sonarqube本身的配置信息,如端口號(默認9000),數據庫(默認H2),elasticSeach(默認9001)。一般情況下我們需要修改下數據源的配置即可

注意點:sonarqube需要jkd1.8的支持

啟動服務,配置好配置信息後,執行bin目錄下對應平臺的啟動腳本即可,打開http://localhost:9000會看到如下界面

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

插件安裝

sonarqube插件很多,基於插件擴展,可以支持更多的語言的代碼檢測,如js等。這裡實例下中文插件Chinese Pack的安裝

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

Chinese Pack插件項目地址:https://github.com/SonarQubeCommunity/sonar-l10n-zh。

插件安裝可能會失敗,提示未設置代理地址,下載不下來,這個時候可以參考下面的方法也行。

除了如上可在sonarqube平臺上直接安裝外,還可以從如上項目地址下載插件,是一個jar包。放到sonarqube-5.6.7\data\web\deploy\plugins這個目錄下即可

jenkins插件安裝

1.在jenkins系統配置中,找到插件管理,搜索sonar,插件全稱是:SonarQube Scanner for Jenkins。對應的版本如下:

SonarQube Scanner for Jenkins

2.12.2.12.32.42.5 - 2.7

Jenkins

1.491+1.580.1+1.587+1.587+1.651+

2.設置sonarqube服務

進入系統設置,設置好sonarqube服務信息,如圖

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

3.構建任務中,添加構建執行sonarqube掃描

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

安裝IDEA插件

安裝IDEA插件是為了方便解決掃描出來的問題,達到更好的持續優化的效果。插件中心搜索sonarlint,安裝好後,左下角就會出現SonarLint。點擊如下圖所示標誌就可以配置sonarServer的信息了。

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

sonar支持賬號密碼和token兩種驗證方式。token方式,可以到sonarqube平臺的用戶中心生成,如下圖

使用sonarqube+jenkins+IDEA插件搭建代碼可持續優化平臺

最後結語

碼這麼一篇教程不易啊,可能流程並沒有描述清楚,有啥問題可在留言區直接留言。sonarqube質量平臺功能很強大,osc碼雲平臺也使用了sonar作為代碼質量檢測。搭建這樣的一個平臺只要是為了持續優化團隊的代碼質量,相信經過修復sonarqube提示問題後,團隊整體代碼質量寫作習慣會有質的飛越。


分享到:


相關文章: