代碼掃描Sonar使用教程


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",

掃一掃,關注我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM