1 簡介
SonarQube 是一個用於程式碼質量管理的開放平臺。通過外掛機制,Sonar 可以整合不同的測試工具,程式碼分析工具,以及持續整合工具。與持續整合工具(例如 Hudson/Jenkins 等)不同,Sonar 並不是簡單地把不同的程式碼檢查工具結果(例如 FindBugs,PMD 等)直接顯示在 Web 頁面上,而是通過不同的外掛對這些結果進行再加工處理,通過量化的方式度量程式碼質量的變化,從而可以方便地對不同規模和種類的工程進行程式碼質量管理。
2. 安裝準備
1)SonarQube 的版本多,需要提前注意一下,選擇合適的版本。從 http://www.sonarqube.org/downloads/ 中看到,當前SonarQube有5.6的長期支援版本和SonarQube 6.1 的新版本,但5.6和6.1的程式碼可能差別不是特別大,有些bug兩個版本都被修復的。
2)無論你選擇哪個版本,都依賴於Java1.8和MySQL5.6 以上的版本(如果你想用起來的話)。
Java下載JDK包即可,MySQL的下載從官方網站上下載
3. 安裝
1)安裝Java
解壓即可用,設定JAVA_HOME
export JAVA_HOME="/search/env/jdk" export PATH=$PATH:/sbin:$JAVA_HOME/bin/ export CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2)安裝MySQL
參考上一篇文章,安裝好後,設定sonar用的使用者名稱和資料庫
create user 'sonar'@'localhost' identified by 'sonar@2016'; CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; grant all privileges on sonar.* to 'sonar'@'localhost';
3)安裝SonarQube
本文選用的是5.6.3版本的,解壓到本地即可,修改conf,
sonar.jdbc.username=sonar sonar.jdbc.password=sonar@2016 sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false #可以用預設的,不修改 sonar.web.host=192.0.0.1 sonar.web.port=80 sonar.web.context=/sonar
三個需要注意的地方,後面引數不用有引號,新增useSSL=false引數能夠避免SSL報錯。
context的意思是,尋訪的path,如上面的配置訪問的url就是
http://192.0.0.1:80/sonar
啟動服務
sonarqube/bin/linux-x86-64/sonar.sh start
訪問url,用管理員(admin/admin)賬號登陸,找到外掛中心(被隱藏得有些深),安裝中文外掛包和升級其它外掛。
如果沒有網路,可以將對應的jar下載下來,放到extensions/plugins下,重啟服務即可,plugin有問題的話,可能啟動不起來,
看下log/sonar.log檢視錯誤日誌即可。
4. 安裝 sonar-scanner
SonarQube是一個UI,還需要其他工具的配合,其中sonar-scanner就是重要的一個。
參考文獻
http://jaminzhang.github.io/ci/cd/Sonar-Installation/