Sonar是一個用於代碼質量管理的開源平台,用於管理源代碼的質量,可以從多個維度檢測代碼質量:
- 可靠性
- 安全性
- 可維護性
- 覆蓋率
- 重復率
通過插件形式,可以支持包括Java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十幾種編程語言的代碼質量管理與檢測
效果圖
下載
https://www.sonarqube.org/downloads/
wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.5.zip
參考文檔
https://docs.sonarqube.org/7.4/
安裝
要求:jdk(Oracle JRE 8或OpenJDK 8) 8.0 mysql 5.6 5.7
chmod 777 /data
useradd sonar
su sonar
unzip sonarqube-7.5.zip
修改數據庫:vi /data/sonarqube-7.5/conf/sonar.properties
啟動:/data/sonarqube-7.5/bin/linux-x86-64/sonar.sh start & tail -f /data/sonarqube-7.5/logs/sonar.log
插件:
sonar-l10n-zh-plugin-1.22.jar 中文插件
sonar-dependency-check-plugin-1.2.5.jar
sonar-findbugs-plugin-3.11.0.jar
注意1:如果啟動有問題,重新下載安裝jdk8
注意2:不能用linux root 用戶啟動,因為sonarqube 6.7+ 版本中有elasticsearch ,由於安全因素,不能用root 用戶啟動,最好用普通用戶安裝、啟動sonarqube
注意3:報錯java.lang.IllegalStateException: Unable to read plugin manifest from jar : /data/sonarqube-7.5/extensions/plugins/sonar-scala-plugin-1.4.0.155.jar
刪除該插件重新啟動即可
質量閥設置
http://IP:9000/quality_gates/show/3
使用方式(推薦):
mvn clean compile org.sonarsource.scanner.maven:sonar-maven-plugin:3.6.0.1398:sonar
sonar api
利用sonar api可集成入其他平台,方便交互。
http://IP:9000/api/project_branches/list?project=
pom.groupId:pom.artifactId
匹配json響應值中 qualityGateStatus=OK / ERROR
http://IP:9000/api/qualitygates/project_status?projectKey=settle-core
匹配json響應值中 projectStatus": { "status": "OK",
掃一掃,關注我