Zadig + SonarQube,为开发过程安全保驾

高质量的代码、快速拉起的环境基础设施、充分的业务质量保证...每一点都能为产品成功交付加分。在开发源头对代码质量投入,不管是识别代码风险防微杜渐,还是建立团队研发规范,都是一件收益远大于成本的事情。
社区小伙伴对此的呼声也越来越高,在六一儿童节发布的 v1.12.0 版本中,Zadig 支持集成扫描工具啦,为代码质量提供扫描服务,为开发过程安全保驾。
本文以最为常用的 SonarQube 扫描工具和开源 Zadig 代码仓为例为大家进行介绍。
项目背景
目标:对日常高频变更的 pkg 目录下代码进行扫描,及时嗅探代码里的「坏味道」
如何使用
只需要 3 步,便可在 Zadig 中获得代码扫描的能力,具体操作如下。
系统管理员:集成 SonarQube
登录 SonarQube -> 点击右上角账号头像 ->
My Account
。

切换到
Security
页面,在Generate Token
中填写 Token 名称后点击右侧的Generate
按钮即可。


在 Zadig 中依次访问
系统设置
->集成管理
->Sonar 集成
,填写 SonarQube 服务器地址以及 Token 信息后保存。

工程师:配置代码扫描
进入项目,新建代码扫描。


配置细节如下:
名称
:zadig-scan扫描工具
:SonarQube扫描环境
:sonar:latestSonar 地址
:上一步中集成的 SonarQube 服务器地址代码信息
:Zadig 代码库参数配置
:参考 SonarQube 文档,本例中配置内容如下:
其他代码扫描工具可参考 自定义构建镜像,先将扫描工具集成进去,扫描工具选择
其他
,扫描环境中指定自定义的镜像,输入自定义扫描脚本即可实现。
工程师:执行并分析结果
点击执行
按钮触发代码扫描运行。

待代码扫描任务执行完毕,点击查看
链接。

系统会自动跳转到 SonarQube 系统中。工程师可查看扫描结果并据此对代码中的问题进行修复,做到有的放矢,从源头提高代码质量,降低交付风险。

Webhook 一触即发
除了在 Zadig 上手动执行扫描任务检查代码质量,还可以基于相关代码变更事件配置触发器,利用 Webhook 的能力自动执行代码扫描。
配置代码扫描,添加触发器。

当满足触发条件的事件发生时(比如 pull request),代码扫描会被自动执行,减少人工介入成本。


扫描结果及时反馈
代码库变更自动触发代码扫描后,扫描结果将会反馈到代码仓库中,目前支持 GitLab 代码源,其他代码源也进一步支持中。及时的代码质量反馈可以为团队做代码审查、代码合并等提供数据参考,让质量溶于每一行代码。

此外,代码扫描结果自动通知到 IM 的功能也在计划中,无需切换系统即可便捷地获得代码质量反馈结果,打通工程师日常开发工作的最后一公里。
Zadig,让工程师更专注创造!欢迎加入 开源吐槽群🔥
版权声明: 本文为 InfoQ 作者【KodeRover】的原创文章。
原文链接:【http://xie.infoq.cn/article/358b53da581dae495aeea420e】。文章转载请联系作者。
评论