当前位置 : 主页 > 编程语言 > python >

【测试】SonarLint连接SonarQube服务扫描

来源:互联网 收集:自由互联 发布时间:2022-09-29
今天换一下口味聊聊测试方面的内容。 这个代码扫描市面上有很多很好用的工具像SpotBug、阿里的P3C、PMD等等,但这些基本上都是个人使用场景居多。上升到企业层面还需要关注代码债

今天换一下口味聊聊测试方面的内容。

这个代码扫描市面上有很多很好用的工具像SpotBug、阿里的P3C、PMD等等,但这些基本上都是个人使用场景居多。上升到企业层面还需要关注代码债务、质量分析、坏味道统计等内容,若是这种情况用SonarQube就挺好。SonarQube使用社区版就好(当然了这社区版有很多东西不支持,但是不是常用功能可以接受),用Docker在服务器上部署一个要玩转它不是难事。

关于如何部署SonarQube就不再叙述了无非就是Jenkins + SonarQube + Gitlab这一套,这次集中说一下如何将SonarLint与SonarQube联动这才是开发人员所关心的。

SonarLint插件安装

先到SonarQube官网找到自己对应的IDE的SonarLint插件(以下用Eclipse插件为例,因为IDEA可以直接在IDE内安装),如下图:

【测试】SonarLint连接SonarQube服务扫描_ide

【测试】SonarLint连接SonarQube服务扫描_eclipse_02

又或者可以直接在Eclipse 的Market中找到插件,这里要注意的是Eclipse中需要查看一下当前版本是否可以被安装,如下图:

【测试】SonarLint连接SonarQube服务扫描_eclipse_03

可以安装的话直接将“Install”拖拽到Eclipse版面中进行安装即可,安装完成后重启Eclipse

【测试】SonarLint连接SonarQube服务扫描_服务器_04

至于IDEA的情况,如下:

【测试】SonarLint连接SonarQube服务扫描_服务器_05

虽然我这边使用的是Pycharm,但是实现是一样的

【测试】SonarLint连接SonarQube服务扫描_eclipse_06

接着在“Plugins”中找到SonarLint进行安装即可,重启应用后即可使用。

由于SonarLint可以连接到SonarQube服务器获取扫描规则,因此需要对SonarQube服务器信息进行配置。

插件配置

【测试】SonarLint连接SonarQube服务扫描_服务器_07

上图中的链接会直接跳转到Github中的,我这边直接用Eclipse和IDEA给各位演示一遍,如下图:

【测试】SonarLint连接SonarQube服务扫描_eclipse_08

先创建一个SonarQube的链接

【测试】SonarLint连接SonarQube服务扫描_ide_09

选择"connect to a server"

【测试】SonarLint连接SonarQube服务扫描_eclipse_10

这时会让你填写SonarQube服务器的url地址,这里就按公司的地址填写就好

【测试】SonarLint连接SonarQube服务扫描_eclipse_11

再往下就是访问鉴权了,这里提供了两种访问模式一种是Token,另一种是Username+Password,既然公司已经开放了账号给到开发人员了,这时只需要选择Username+Password就可以了。

【测试】SonarLint连接SonarQube服务扫描_ide_12

输入个人账号和密码选“Next”

【测试】SonarLint连接SonarQube服务扫描_ide_13

在连接验证成功后会让你给这个连接起个名字,这里随便填即可。

【测试】SonarLint连接SonarQube服务扫描_eclipse_14

这里是“是否接收来自SonarQube的信息”,我这里是选中的,当然了可以不选没关系的。

【测试】SonarLint连接SonarQube服务扫描_ide_15

接着就要选择绑定项目了,这里选择了其中一个项目作为绑定项目

【测试】SonarLint连接SonarQube服务扫描_ide_16

这里是可以通过模糊搜索找到项目然后进行绑定的

【测试】SonarLint连接SonarQube服务扫描_eclipse_17

绑定完成后通过鼠标右键 -> "SonarLint" -> "Analyze"进行代码分析,分析结果如下:

【测试】SonarLint连接SonarQube服务扫描_服务器_18

通过双击条目即可定位到代码位置,非常方便。

在IDEA的情况下也是一样需要对SonarLint进行配置,如下图:

【测试】SonarLint连接SonarQube服务扫描_ide_19

重启应用后选择“Setting”-> “Tools”即可找到“SonarLint”,当然了也可以通过上面搜索定位到位置,之后将“Automatically trigger analysis”选上,这样就不用每次都手动触发了。之后就可以在下方添加SonarQube的服务器连接,如下图:

【测试】SonarLint连接SonarQube服务扫描_ide_20

这里通过一个界面就完成了Eclipse多个界面的事情了,就是选择了Server和填上地址。

【测试】SonarLint连接SonarQube服务扫描_ide_21

接着就是填上用户名和密码即可。

【测试】SonarLint连接SonarQube服务扫描_eclipse_22

手动触发的时候就按照顺序执行“右键”->"SonarLint" ->"Analyze with SonarLint"就可以了。

【测试】SonarLint连接SonarQube服务扫描_服务器_23

目前已经支持多种开发语言,覆盖面已经去到Golang、TypeScript、Python、Kotlin、Scala等等。

页面联动

除了能够在IDE工具中直接定位到缺陷外,只要你安装了SonarLint并且已打开了IDE工具,在浏览SonarQube对应的缺陷时会提示你“用IDE打开”,当你点击这个按钮的时候会直接通过IDE工具给你定位到缺陷所在的位置,如下图:

【测试】SonarLint连接SonarQube服务扫描_ide_24

【测试】SonarLint连接SonarQube服务扫描_ide_25

开发人员再也不用反复切换界面去找缺陷代码位置了。

【文章原创作者:武汉网站优化公司 http://www.5h5q.com/wzyh/ 复制请保留原URL】
上一篇:python 内置数据类型与方法
下一篇:没有了
网友评论