SonarQube简介
SonarQube 是一个开源的代码分析平台, 用来持续分析和评测项目源代码的质量。 通过SonarQube我们可以检测出项目中重复代码, 潜在bug, 代码规范,安全性漏洞等问题, 并通过SonarQube web UI展示出来。
sonarQube是什么?
1、代码质量和安全扫描和分析平台。
2、多维度分析代码:代码量、安全隐患、编写规范隐患、重复度、复杂度、代码增量、测试覆盖率等。
3、支持25+编程语言的代码扫描和分析,包含javapythonC#javascriptgoC++等。
4、涵盖了编程语言的静态扫描规则: 代码编写规范+安全规范。
6、能够与SCM集成,可以直接在平台上看到代码问题是由哪位开发人员提交。
7、帮助程序员写出更干净、更安全的代码。
SonarQube下载和安装
1、下载地址:
https://www.sonarqube.org/downloads/
下载后,解压就可以使用
2、选择对应版本下载,最新sonarqube 必须要求jdk 11以上
jdk11地址:
https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
建议下载8.4版本,因为目前开发代码很多都是使用JDK8。
3、sonar配置JDK路径:sonarqube目录confwrapper.conf
wrapper.java.command=C:/Program Files/Java/jdk-11.0.7/bin/java
4、启动相应操作系统目录下的StartSonar。
如:win的64位系统,sonarqube-8.4.2.36762binwindows-x86-64StartSonar.bat
5、启动成功显示如下:
6、到浏览器界面,输入 : http://localhost:9000能够进入界面证明安装成功,
初始的账户名 : admin 初始的密码 : admin
7.登录成功
sonar扫描
描扫主要有2种方式:
(1)使用maven方式扫描
(2)通过SonarScanner方式扫描
对Maven方式的工程,建议直接maven方式扫描,
操作如下:
(1)下载maven软件,并且配置maven到系统环境变量
mvn -version显示版本,配置成功
<profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <!-- 配置 Sonar Host地址,默认:http://localhost:9000 --> <sonar.host.url> http://127.0.0.1:9000 </sonar.host.url> </properties> </profile>
扫描过程根据代码量,代码量比较大,扫描的时间会比较长;扫描完成,可以直接登录管理界面进行查看和分析扫描结果。
通过SonarScanner方式扫描
下载地址:
https://docs.sonarqube.org/8.4/analysis/scan/sonarscanner/
(1)下载对应版本
(2)解压下载压缩包后将
sonar-scanner-4.3.0.2102-windows /bin目录加入到系统环境变量
(3)执行命令,查看版本
(4)在需扫描项目的根目录创建配置文件:sonar-project.properties
# 项目的key唯一不重复即可 sonar.projectKey=test1# 项目的名字 sonar.projectName=test1# 项目的版本 sonar.version=1.0 # 需要分析的源码的目录,多个目录用英文逗 隔开 sonar.sources=src# sonarQube扫描的对象是.class而不是.java文件 sonar.java.binaries=out# 解析的开发语言,如果需要解析其他语言,需要下载对应的插件 sonar.language=java #编码格式 sonar.sourceEncoding=UTF-8
(4)进行项目目录,执行sonar-scanner
执行成功如下:
(5)登录管理页面,查看扫描结果
问题
(1)maven扫描, 错Failed to execute goal
org.xolstice.maven.plugins:protobuf-maven-plugin:0.5.0:compile (default) on project message: protoc did not exit cleanly.
解决方法:将项目转移到全英文路径
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!