做者 陳彩華
文章轉載交流請聯繫 caison@aliyun.com
複製代碼
最近公司引入了代碼自動檢查平臺,技術選型是選擇SonarQube,總結以下:前端
SonarQube(sonar)是一個開源平臺,用於管理源代碼的質量。 SonarQube不僅是一個質量數據報告工具,更是代碼質量管理平臺。 支持java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等等二十幾種編程語言的代碼質量管理與檢測。 SonarQube能夠從如下七個維度檢測代碼質量,而做爲開發人員至少須要處理前5種代碼質量問題。java
經過如下介紹如何基於Jenkins和SonarQube完成代碼質量持續檢測。git
清單以下,安裝方法自行百度谷歌數據庫
爲了基於Maven方式使用Jenkins,須要在Maven安裝目錄下的conf/setting.xml文件配置關於sonar的配置編程
建立一個新任務:bash
步驟1 建立 選擇構建一個自由風格的軟件項目 架構
步驟2 配置源碼管理 這裏是使用了Git來作源碼管理,gitlab做爲源碼庫 項目分支填寫master maven
步驟3 配置構建觸發器 這裏配置H 18 * * *,表明每日18點前定時構建 編程語言
步驟4 配置構建 第一行使用jacoco插件,進行代碼覆蓋率測試 第二行使用sonar插件,進行代碼檢測並提交檢測結果工具
clean org.jacoco:jacoco-maven-plugin:prepare-agent install -Dmaven.test.failure.ignore=true -P dev
sonar:sonar
複製代碼
SonarQube基本架構圖
SonarQube與項目持續集成架構圖
Jenkins的每日構建默認是使用master,在開發過程當中,有時須要在開發者的開發中的分支進行代碼檢測 方法:
步驟1 配置Maven 按照 3.1 Maven的配置說明,配置本地的Maven環境
步驟2 觸發檢測 在項目頂層目錄,執行命令:mvn sonar:sonar便可
代碼總體質量的統計,能夠幫助用戶理解項目是否已經能夠投入生產
默認配置(能夠根據項目實際狀況從新配置):