静态代码扫描工具 - sonarQube

发布于 更新于
本文目录
  1. 1、下载sonnarScanner (要能够匹配sonarQube)
  2. 2、更新sonar-scanner的配置文件。配置连接SonarQube服务器。
  3. 3、添加 bin目录到环境变量当中。
  4. 4、检测环境变量是否配置成功
  5. 准备好Java项目代码
  6. 了解java项目代码的结构
  7. 在项目根目录下,配置扫描数据
  8. 在sonarQube上查看扫描结果

技术文章

一、安装和配置 sonar-scanner1、下载sonnarScanner (要能够匹配sonarQube)https://docs.sonarqube.org/latest/analysis/scan/sonarscanner...

一、安装和配置 sonar-scanner


1、下载sonnarScanner (要能够匹配sonarQube)


https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/


sonarScanner 4.2支持 sonarQube6.7+。


解压到本地目录即可。


2、更新sonar-scanner的配置文件。配置连接SonarQube服务器。


更新conf/sonar-scanner.properties文件



3、添加 bin目录到环境变量当中。



4、检测环境变量是否配置成功



二、扫描 java 项目


1、

准备好Java项目代码


只要是java语言实现的项目均可。


比如,自动化测试的代码,测试平台等均可以。


本次案例,使用java语言实现的测试平台来做为扫描对象。



2、

了解java项目代码的结构


为什么要了解项目代码结构呢?


1)区分出来,哪些是开发人员写的代码,哪些是引用的第三方包或配置文件等。


2)sonarQube主要是分析开发人员写的代码质量,对于外部的依赖库这些全部都可以忽略掉。


经过与开发人员的沟通,上图中的代码当中,有如下说明:



3、

在项目根目录下,配置扫描数据


3.1 在项目下:添加 sonar-project.properties 文件



3.2 copy以下内容到sonar-project.properties当中



3.3 配置sonar.projectKey


  • sonar.projectKey(必填): 的值为你的项目名称,是会显示在sonarQube管理平台上的。


要求在SonarQube当中,项目key名唯一。其它项目不能够再取这个名字。


  • sonar.projectName:项目名称。一般与key名一致。


  • sonar.sources: 项目下有多个目录。可以指定要扫描的源码目录。


主要目的是扫描团队当中开发人员编写的代码 。所以可以根据项目情况来指明。


  • sonar.sourceEncoding:指定源码的编码格式,一般都会去指定为UTF-8。


  • sonar.java.binaries(必填):指定java文件编译后class文件目录。


  • sonar.language:指定在扫描当中,只扫描的语言。



4、

启动扫描


启动方式:在项目的根目录下,运行sonar-scanner命令



等待任务扫描完成。



在扫描任务完成之后,sonarQube需要将其扫描结果写入数据库,需要一定的时间。


扫描的代码量越大,写入数据库的时间相对的也要长一点。


5、

在sonarQube上查看扫描结果


在sonar-scanner提示扫描完成之后,访问sonarQube地址( https://localhost:9000/projects ),会看到有1个后台任务正在执行中


继续阅读