1
品牌
1
型号
12
货号
3
上市时间
汪洋
主营: 软件和信息技术服务业
陕西省西安市
通过SonarQube 搭建代码质量管理平台(一)的介绍,如果每次都需要手动执行 sonar-scanner ,想想也是醉了,所以我们需要进一步完善 SonarQube 进行自动化代码分析。
从官方文档的Scanners部分可以看出,Scanner 支持 MSBuild、Maven、Gradle、Ant、Jenkins 等。本文将介绍使用 Jenkins 进行自动化代码分析, 测试项目的代码基于 .NET 开发,所以会用到 MSBuild 相关命令。
安装 Jenkins
根据操作系统下载 Jenkins,我使用的是 Windows ,直接都下一步就可以了。
Windows 环境下 Jenkins 安装后默认登录身份是 “本地系统”,会无法访问,所以需要修改登录身份,我这里使用的是账户方式
Jenkins 登录身份
启动成功后访问http://localhost:8080/
Jenkins 配置 Github
在 Github 生成 Personal access tokens,设置 token 相关权限
access token
access token scope
Jenkins 配置 GitHub Server
Jenkins 安装后默认已包含 GitHub,在 “系统管理” => “系统设置” 中找到 Github,然后在 Credentials 处添加全局凭据,类型选 Secret text,Secret 处输入上一步生成的 access token
GitHub Server
Secret text
添加完成后可点击 Test connection 进行测试
如果使用的是 Gitlab,需要在 Jenkins 中安装 Gitlab 插件,全局凭据添加 GitLab API token,token 使用 Gitlab Account 下的 Private token, 其他配置基本类似
Jenkins 配置 SonarQube
在 SonarQube 中生成 Server authentication token
登录 SonarQube 后,在 “My Account” => “Securiy” 中生成 toekn
SonarQube token 重新进入这个页面之前生成的 token 就看不到的,只能看到一次,我呵呵
在 Jenkins 的管理插件中安装 SonarQube Scanner 插件
配置 SonarQube Sever,这部分和配置 GitHub Server 类似,在 “系统管理” => “系统设置” 中找到 SonarQube serversName:随意;Server URL:为启动的 SonarQube 服务地址,我这里使用本地启动的默认地址http://localhost:9000;Server authentication token:输入之前生成的 token;
SonarQube server
配置 SonarScanner for MSBuild
在 “系统管理” => “全局工具配置” 找到 SonarScanner for MSBuild(测试项目是基于 .NET),官方提供了.NET Framework 和 .NET Core两个版本,我们可以先都加上,之后根据实际项目选择使用哪个。有两中方式配置 MSBUILD_SQ_SCANNER_HOME,可以选择自动安装或手动配置,手动配置需要单独下载,我使用的是手动配置方式
SonarScanner for MSBuild Jenkins 任务配置
上面是 Jenkins 的一些全局配置,下面需要对单个任务进行配置。新建一个 “构建一个自由风格的软件项目” 类型的任务 “Test”
配置项目的仓库地址,这个项目就是要进行代码分析的项目,在 Credentials 处添加凭据,这里添加一个用户名密码类型的凭据(其他类型的也可以,能访问这个仓库即可)。在添加凭据后,会自动检测是否有效,如果无效会直接出现错误提示
Task Config
Username with password
在 “构建” 中增加构建步骤:
Build steps
SonarScanner for MSBuild - Begin Analysis
SonarScanner for MSBuild:选择基于 .NET Framework,因为 Test 项目是基于 .NET Framework;Project key:在 SoanrQube 中的项目 key;Project name:在 SoanrQube 显示的项目名称,如果不填,则显示 Project key;Project version:版本号;Additional arguments:其他参数,比如可以设置只检测某种语言(/d:sonar.language=cs)、排除哪些文件(夹) 等,参考;
执行 Windows 批处理命令
先通过 nuget restore(如果没有安装 nuget 命令的需要提前安装)还原依赖的 NuGet 包,然后使用 MSBuild 批处理命令重新生成项目。这一步 Build 可能会出现各种奇葩的问题,主要就是少了一些依赖包,建议在安装 Jenkins 的机器安装上 VS,然后将 MSBuild 加入环境变量,我的机器添加了两个路径:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin C:\Program Files (x86)\NuGet
SonarScanner for MSBuild - End Analysis
配置完成后保存,然后点击 “立即构建” 试试效果,构建成功后我们将通过 SonarQube UI 看到对 Test 项目的分析结果
Analysis result
这就实现了将 Jenkins 与 SonarQube 关联起来,代码构建完成后会把结果发送到 SonarQube 中,我们还可以根据需要在 Jenkins 任务中设置构建执行时间,比如每天早上9点执行一次
Trigger time
SonarQube 中有Webhook的功能,当接收到一次提交,可以将这次的分析结果发送给设置的 Webhook 地址,这样我们可以通过消息(比如短信、邮件、微信等)将有问题的分析结果及时的通知到相关负责人。
loadrunner正版价格-loadrunner12购买-LoadRunner中国代理商-青穗软件
sonarqube许可证购买、授权许可、中国总代理、价格、服务商
sonar购买、sonar价格、sonar代理商、sonar试用-sonar中国代理商
SonarQube价格 SonarQube正版收费
SonarQube价格-代理商-试用license-正版购买-试用许可中国代理商-青穗软件
SonarQube技术支持-正版购买-培训-安装-使用-价格-中国代理商
sonarqube许可证购买、授权许可、中国总代理、价格、服务商
sonar购买、sonar价格、sonar代理商、sonar试用-sonar中国代理商
SonarQube价格 SonarQube正版收费
SonarQube价格-代理商-试用license-正版购买-试用许可中国代理商-青穗软件
SonarQube技术支持-正版购买-培训-安装-使用-价格-中国代理商
SonarQube价格-软件授权-正版购买-技术支持-中国代理商
*采购数量: 套
采购数量不能为空
*联系信息:
联系信息不能为空
公司名称:
采购说明:
验证码不正确