Sonar Qube连续代码质量管理(三)sonar-scanner-3.3.0.1492在Windows环境下安装部署和代码检查使用

版权声明:HadesZ@金翰海 https://blog.csdn.net/AITop_Leader/article/details/88059119

继续上篇内容,对sonar-scanner在Windows 10环境下安装部署操作步骤进行分解,安装过程相对较简单,并且作为sonar客户端通常都是安装在开发设备上,后期一般不会考虑在Linux上部署。

scanner目前是没有可视化界面,同时需要加入到path变量中加载,个人将其理解为jvm环境下运行的插件,它会根据sonarqube生成的命令直接在项目根目录下运行。

一、文件配置

进入到D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\conf文件目录下,选择NotePad++等编辑器打开配置文件sonar-scanner.properties,如下图。
在这里插入图片描述
打开配置文件后,发现新版的scanner文件注释内容较少,因此直接在下方加入Mysql节点配置情况。同sonarqube中的sonar.properties文件配置,如下图。
在这里插入图片描述

    注意,如果SonarQube不是本地,要配置IP地址。
    sonar.host.url=http://192.168.8.188:9000 

二、环境变量配置
打开本地系统环境变量进行配置,如下图。
【此电脑】–右键【属性】–【高级系统设置】–【环境变量】
在这里插入图片描述
直接配置系统变量中的Path,在Path中新增D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\bin路径并保存。

还有一种方式是先新增用户变量在添加环境变量,但是如果直接新增path可以不用考虑。
a.新建变量,name=SONAR_RUNNER_HOME。value=D:\DevelopSoft\Sonar\sonar-scanner-3.3.0.1492\c
b.打开path,输入%SONAR_RUNNER_HOME%\bin;

三、环境测试

打开命令提示符窗口(不用管理员身份),输入sonar-scanner -version,如果配置成功出现版本信息,如下图。
在这里插入图片描述

四、SonarQube中创建项目

1.在SonarQube启动的web应用首页,选择【创建新项目】,如下图。
在这里插入图片描述
2.根据项目情况输入标识和名称,点击【设置】开始创建新项目,如下图。
在这里插入图片描述
3.在配置过程中,显示要创建令牌,这个令牌是在生成的命令中到项目根目录运行使用,如下图。
在这里插入图片描述
在这里插入图片描述
4.分析项目的设置,如果是选择Java有Maven和Gradle构建技术,这里我们选择其他(…),按照提示选择【Windows】操作系统,系统会自动生成运行命令,如下图。
在这里插入图片描述
在这里插入图片描述

   // 命令
    sonar-scanner.bat -D"sonar.projectKey=NESPS" -D"sonar.sources=." -D"sonar.host.url=http://localhost:9000" -D"sonar.login=8116e8c258415faa02ac2931f1c726f4fb056eca"

如果直接在项目根目录下运行该命令会报错如下,其实是需要在根目录中编辑配置文件,便于系统加载class类文件。
Please provide compiled classes of your project with sonar.java.binaries property

在这里插入图片描述

五、项目根目录加载配置

官方已经从sonarQube 4.12开始,sonar针对Java将会进行程序的动态检查,不配置sonar.java.binaries属性将会出错。
官方文档API:https://docs.sonarqube.org/display/PLUG/SonarJava
在这里插入图片描述
由于我的项目根目录为D:\Project\NESPS,因此在命令提示符中输入命令

> C:\Users\HadesZ>d:	#跳转到d盘
> D:\>cd /Project\NESPS
> D:\Project\NESPS>

在根目录下,新增sonar-project.properties配置文件并使用文本编辑器编辑,保存格式应为ANSI,配置内容如下。

sonar.projectKey=nesps	#项目key
sonar.projectName=nesps	#项目名称
sonar.projectVersion=1.0
sonar.sources=src #这里指的是项目存放java文件的位置,如果在根目录下则为src
#[重点]这里指的是项目class文件的位置,这里直接使用绝对路径,否则还是会出现错误提示
sonar.java.binaries=D:/Project/NESPS/WebRoot/WEB-INF/classes 
sonar.language=java
sonar.sourceEncoding=UTF-8

保存配置文件后,重新在根目录下执行命令,正常情况下如下图。
在这里插入图片描述
在扫描文件的过程中如下图。
在这里插入图片描述
在这里插入图片描述
直到扫描完成后会出现如下提示。在这里插入图片描述

INFO: SCM provider for this project is: svn
INFO: 101 files to be analyzed
INFO: 18/101 files analyzed
INFO: 65/101 files analyzed
INFO: 101/101 files analyzed
INFO: 1 file had no CPD blocks
INFO: Calculating CPD for 100 files
INFO: CPD calculation finished
INFO: Analysis report generated in 2209ms, dir size=3 MB
INFO: Analysis report compressed in 1503ms, zip size=1 MB
INFO: Analysis report uploaded in 762ms
INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/dashboard?id=NESPS
INFO: Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report
INFO: More about the report processing at http://localhost:9000/api/ce/task?id=AWk4AuE6KUARVpHP4eO7
INFO: Analysis total time: 2:06.654 s
INFO: ------------------------------------------------------------------------
INFO: EXECUTION SUCCESS
INFO: ------------------------------------------------------------------------
INFO: Total time: 2:11.930s
INFO: Final Memory: 29M/813M
INFO: ------------------------------------------------------------------------

如果此时进入web应用不一定能马上刷新得到扫描结果,如下图所示,等待3-5分钟后重新刷新页面即可。

在这里插入图片描述

六、查看和使用Sonar扫描

在页面点击【项目】等待加载完成后,可以看到项目情况,根据提示进入修改即可,如下图。
在这里插入图片描述
在页面点击【问题】可以查看到每一个Bugs和漏洞情况,如下图。
在这里插入图片描述

题外话

如果成功扫描,在本地C:\Users\HadesZ.sonar用户目录下会找到相关文件,但目前不知道这些文件的用途。
在这里插入图片描述
以上,就是Sonar Qube连续代码质量管理从部署到使用的全部过程。

下篇将讲述使用Eclipse加载sonarlist插件使用Sonar检查代码。

猜你喜欢

转载自blog.csdn.net/AITop_Leader/article/details/88059119