赞
踩
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具、代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
本文会着重讲解Sonar两个端——界面端和分析端的配置和使用,具体如下:
SonarScanner(扫描器):用于将代码提交到SnaorQube进行分析的工具。
SonarQube(分析器):SonarQube是Sonar生态系统的核心组件,是一个开源的代码质量管理平台。
1、Sonar下载地址:https://www.sonarsource.com/products/sonarqube/,进入如下页面下载。
2、下载完后是一个压缩包,解压完在文件目录中找到bin文件夹,在里面找到自己对应的系统
3、进到上面文件夹后,点击图内文件或者在地址栏输入“StartSonar.bat”即可运行
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、配置完后点击保存,之后进行构建。等待一段时间后查看日志信息,就能够查看到扫描的信息了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。