当前位置:   article > 正文

如何使用Sonar进行静态扫描(Windows系统)_sonar扫描

sonar扫描

Sonar是什么

Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具、代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。


本文会着重讲解Sonar两个端——界面端和分析端的配置和使用,具体如下
SonarScanner(扫描器):用于将代码提交到SnaorQube进行分析的工具。
SonarQube(分析器):SonarQube是Sonar生态系统的核心组件,是一个开源的代码质量管理平台。

SonarQube下载及安装

1、Sonar下载地址:https://www.sonarsource.com/products/sonarqube/,进入如下页面下载。
在这里插入图片描述
在这里插入图片描述
2、下载完后是一个压缩包,解压完在文件目录中找到bin文件夹,在里面找到自己对应的系统
在这里插入图片描述
3、进到上面文件夹后,点击图内文件或者在地址栏输入“StartSonar.bat”即可运行
在这里插入图片描述
4、

4、之后进到http://127.0.0.1:9000/中,会提示你进行登录(账号密码默认是admin),登录后提示你改下密码,之后就能进到主页了。
在这里插入图片描述

关于汉化

1、从图内位置进入后搜索“chinese”找到中文语言
在这里插入图片描述
在这里插入图片描述
2、这里需要从这点进去,找到跟自己sonar版本一致的汉化包,下载好后解压到本地sonar目录的sonarqube-9.7.0.61563\extensions\plugins路径下。
在这里插入图片描述

在这里插入图片描述
3、之后重启sonar,可以看到首页已经变成中文了。
在这里插入图片描述

如何进行扫描操作

事前准备:

在这里插入图片描述

扫描操作的第一种方法——通过命令行操作

1、首先在我们项目的开始构建命令之前,加入如下代码——》
在这里插入图片描述


命令行中不能出现回车!没条命令之间只能用空格隔开
命令如下:

<sonar-scanner.bat/sonar-scanner.sh的绝对路径> 
-D"sonar.projectKey=<扫描项目名(自定义)>" 
-D"sonar.host.url=<Sonar的服务地址>" 
-D"sonar.login=<Sonar的服务用户名>" 
-D"sonar.password=<Sonar的服务密码>"
  • 1
  • 2
  • 3
  • 4
  • 5

具体实例:

D:\sonar-scanner\sonar-scanner\Windows\sonar-scanner-cli-4.7.0.2747-windows\sonar-scanner-4.7.0.2747-windows\bin\sonar-scanner.bat  -D"sonar.projectKey=fuben"  -D"sonar.host.url=http://127.0.0.1:9000"  -D"sonar.login=admin"  -D"sonar.password=111111"
  • 1

2、之后点击开始构建,因为扫描所需可能需要较长时间才能完成。构建结束后,可以在控制台输出中看到检查过程;在图2的链接中点进去后,就能在sonar上看到具体的检查结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第二种方法——通过插件实现

1、在sonar 服务已经搭建,Jenkins所在主机可以正常访问的情况下,进到jenkins安装插件的界面,搜索“SonarQube Scanner”,安装好后重启Jenkins服务。
在这里插入图片描述
2、进入到Jenkins的Dashboard——Manage Jenkins——Tools中,找到SonarScanner for MSBuild和SonarScanner for MSBuild,参考下图进行安装,之后点击保存。
在这里插入图片描述
在这里插入图片描述

3、然后来到system页面,找到SonarQube servers。按下图方法进行填写,因为凭证配置那有bug,我们通过菜单栏另行配置。
在这里插入图片描述
4、进入Credentials界面,按照下图进行操作获取凭证

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5、进行这一步时,需要到sonarqube的网站获取令牌,之后填写在配置中。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6、之后回到刚刚的system页面,把凭证填进去。
在这里插入图片描述
7、至此,sonar服务的url、账号密码(刚刚的令牌)就已经填好了,再配置sonar.projectKey=扫描项目名 就完成了。我们进入到jenkins中构建页面,在构建前添加构建步骤Execute SonarQube Scanner,并加入如下命令:

sonar.projectKey=SONAR-${JOB_NAME}-${BUILD_NUMBER} 
  • 1

JOB_NAME是项目名,BUILD_NUMBER是版本号,这两是jenkins中的环境变量,会动态发生变化
在这里插入图片描述
8、配置完后点击保存,之后进行构建。等待一段时间后查看日志信息,就能够查看到扫描的信息了。
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号