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

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的服务密码>"

具体实例:

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"

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} 

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

  • 15
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Windows上安装SonarQube和Sonar Scanner,你可以按照以下步骤进行操作: 1. 首先,你需要下载并安装SonarQube和Sonar Scanner。你可以从SonarQube官方网站上下载最新版本的软件包。 2. 下载完成后,你需要解压缩软件包并将其安装在你选择的目录中。 3. 接下来,你需要配置系统变量。你可以在系统环境变量中添加Sonar Scanner的路径。确保不要忘记在路径之间添加分号。例如,E:\Program Files\sonar-scanner-cli-4.2.0.1873-windows\sonar-scanner-4.2.0.1873-windows\bin。 4. 打开SonarQube的安装目录,找到bin文件夹下的StartSonar.bat文件,并双击执行它,以启动SonarQube的服务。 5. 一旦SonarQube服务启动成功,你可以在浏览器中访问http://localhost:9000/,以打开SonarQube的Web界面。 6. 在SonarQube的Web界面中,你可以进行相关的配置和管理,例如创建项目、设置规则等。 以上是在Windows上安装SonarQube和Sonar Scanner的简要步骤。如果你在安装过程中遇到任何问题,可以参考引用中提供的详细说明,或者向相关社区寻求帮助。祝你安装顺利,学习进步!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [sonar安装配置说明](https://download.csdn.net/download/qq_31005473/10588635)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [windows下搭建sonarqube环境及使用](https://blog.csdn.net/junR_980218/article/details/124210735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值