代码扫描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",
扫一扫,关注我