测试工具-代码扫描Sonar

Posted 大道测试

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工具-代码扫描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 8OpenJDK 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",






扫一扫,关注我

若有收获,点个在看

以上是关于测试工具-代码扫描Sonar的主要内容,如果未能解决你的问题,请参考以下文章

使用sonar分析代码会泄露吗

devops===》Jenkins(pipeline)+gitlab+sonar代码扫描漏洞扫描

devops===》Jenkins(pipeline)+gitlab+sonar代码扫描漏洞扫描

sonarqube怎么自定义Java代码规则

sonar扫描多模块的maven项目

Jenkins 集成Sonar代码质量扫描