干货技术,第一时间送达! ![]() 大家好,我叫董鑫,一名在测试开发道路上的新手,是狂师老师全栈测开训练营上一期的学员。第一阶段的学习已然结束,收获颇多,了解了很多在自己平时测试工作无法接触到的新知识,比如这次在这里分享的 之前在公众号也分享过一篇文章:测开新手:从0到1,自动化测试接入Jenkins学习 1. 什么是SonarQube
可以基于现有的 优点: ◆ 支持众多计算机编程语言 ◆ 通过插件机制能集成IDE、Jenkins、Git等 ◆ 内置大量常用代码检查规则 ◆ 支持定制开发规则 ◆ 可视化界面 ◆ 支持从可靠性、安全性、可维护性、覆盖率、重复率等 方面分析项目 具体的配置及文档可以访问下面的链接查看:
2. Jenkins插件安装及配置
在插件管理中搜索名为 安装好插件后,还需要配置相应的服务和工具信息: 2.1. 系统设置->SonarQube servers
![]() 2.2. 全局工具配置》SonarQube Scanner 建议不采用自动安装,使用手动下载配置好的sonar scanner
![]() 3. 自由风格的job使用sonar3.1 配置代码仓库地址: ![]() 3.2 勾选sonarqube 服务并选择token: ![]() 3.3 在构建中添加Exeute SonarQube Sanner ![]() 这里可以使用两种方式:
建议使用第二种方式来管理我配置的 ![]() 保存好后,就可以来构建了。构建后项目页面可以直接跳转到sonarqube服务查看。 ![]() ![]() 4. pipeline流水线使用sonar4.1 构建一个流水线job,流水线pipeline script如下编写:
注意:这里的名称是在Jenkins中系统管理--sonarqube servers添加的名称 同样的,设置好job后就可以构建进行代码扫描了。 5. 接入Sonar质量门禁通过上面的job,只是代码扫描可能无法满足日常的情况,当扫描的结构不满足时我可能就不进行后面的步骤了,这样的情况,我们就需要接入质量门禁的方式来实现。 5.1 在sonar服务端的质量阀中设置质量门禁,添加要运用的项目 质量配置->质量阀 ![]() 这里可以添加指标来定义通过扫描的条件。然后将设置的质量阀分配给要扫描的项目。 5.2 在sonar服务端的配置里面添加网络调用hook 配置->网络调用 ![]() 这里添加Jenkins调用的地址,用来回调扫描的结果。URL配置为:Jenkins地址+/sonarqube-webhook 5.3 流水线改造
在上面的流水线的job上增加一个“检查结果分析”的步骤,使用 6. 小结此次分享就到这里了,更多的是自我知识沉淀的过程,第一阶段的学习虽已结束,但对于我更多的是开始,很多的知识需要自己动手搭环境来实践,我很享受这个过程。将一个个知识落实,弄清楚,是一件令我非常高兴的事情。接触并学习更多测试开发的知识,在测试的道路上越走越宽,越走越远,为此,奋力前进! |
|