2021-05-12 14:32:11
設定Sonar、Jenkins進行持續審查
本文以CentOS作業系統為例介紹Sonar的安裝設定,以及如何與Jenkins進行整合,通過pmd-cpd、checkstyle、findbugs等工具對程式碼進行持續審查。
一、安裝設定sonar
1、Sonar介紹
Sonar是一個用於程式碼品質管理的開源平台,用於管理Java原始碼的品質。通過外掛機制,Sonar 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具,比如pmd-cpd、checkstyle、findbugs、Jenkins。通過不同的外掛對這些結果進行再加工處理,通過量化的方式度量程式碼品質的變化,從而可以方便地對不同規模和種類的工程進行程式碼品質管理。
同時 Sonar 還對大量的持續整合工具提供了介面支援,可以很方便地在持續整合中使用 Sonar。
此外,Sonar 的外掛還可以對 Java 以外的其他程式語言提供支援,對國際化以及報告文件化也有良好的支援。
2、設定資料庫
Apache Derby 是Sonar自帶並且預設安裝使用的資料庫,此外Sonar對如下資料庫提供支援:MySQL 5.x, Oracle 10g XE, Postgresql, MS SqlServer等,本文以mysql為例介紹如何設定資料庫:
1)建立資料庫
在mysql中執行如下指令碼建立資料庫及mysql使用者
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar' IDENTIFIED BY 'sonar' ; GRANT ALL ON sonar.* TO 'sonar' @ '%' IDENTIFIED BY 'sonar' ; GRANT ALL ON sonar.* TO 'sonar' @ 'localhost' IDENTIFIED BY 'sonar' ; FLUSH PRIVILEGES ; |
2)編輯${SONAR_HOME}/conf/sonar.properties設定資料庫:
sonar.jdbc.username: sonar sonar.jdbc.password: sonar sonar.jdbc.url: jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true # Optional properties sonar.jdbc.driverClassName: com.mysql.jdbc.Driver
3)設定DB驅動包
如果使用Oracle資料庫,必須手動複製驅動類到${SONAR_HOME}/extensions/jdbc-driver/oracle/目錄下。其它支援的資料庫預設提供了驅動,http://docs.codehaus.org/display/SONAR/Analysis+Parameters 列舉了一些常用的設定及預設值.
4)常見錯誤及解決方法
新增語言套件後,啟動報錯分析:
下載安裝 sonar-l10n-zh-plugin-1.4.jar 語言套件(http://docs.codehaus.org/display/SONAR/Chinese+Pack),重新打包部署後,後台報錯如下:
相關文章