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/