写点什么

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

作者:KodeRover
  • 2022 年 6 月 28 日
  • 本文字数:1147 字

    阅读完需:约 4 分钟

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

高质量的代码、快速拉起的环境基础设施、充分的业务质量保证...每一点都能为产品成功交付加分。在开发源头对代码质量投入,不管是识别代码风险防微杜渐,还是建立团队研发规范,都是一件收益远大于成本的事情。

社区小伙伴对此的呼声也越来越高,在六一儿童节发布的 v1.12.0 版本中,Zadig 支持集成扫描工具啦,为代码质量提供扫描服务,为开发过程安全保驾。

本文以最为常用的 SonarQube 扫描工具和开源 Zadig 代码仓为例为大家进行介绍。

项目背景

  • 源码:koderover/zadig

  • 目标:对日常高频变更的 pkg 目录下代码进行扫描,及时嗅探代码里的「坏味道」

如何使用

只需要 3 步,便可在 Zadig 中获得代码扫描的能力,具体操作如下。

系统管理员:集成 SonarQube

  • 登录 SonarQube -> 点击右上角账号头像 -> My Account

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


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

工程师:配置代码扫描

进入项目,新建代码扫描。


配置细节如下:

  • 名称:zadig-scan

  • 扫描工具:SonarQube

  • 扫描环境:sonar:latest

  • Sonar 地址:上一步中集成的 SonarQube 服务器地址

  • 代码信息:Zadig 代码库

  • 参数配置:参考 SonarQube 文档,本例中配置内容如下:

# Sonar 参数sonar.projectKey=zadig-pkgsonar.projectName=zadig-pkgsonar.sources=./pkgsonar.go.file.suffixes=.go
复制代码

其他代码扫描工具可参考 自定义构建镜像,先将扫描工具集成进去,扫描工具选择其他,扫描环境中指定自定义的镜像,输入自定义扫描脚本即可实现。

工程师:执行并分析结果

点击执行按钮触发代码扫描运行。

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

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

Webhook 一触即发

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

  • 配置代码扫描,添加触发器。

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


扫描结果及时反馈

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

此外,代码扫描结果自动通知到 IM 的功能也在计划中,无需切换系统即可便捷地获得代码质量反馈结果,打通工程师日常开发工作的最后一公里。


Zadig,让工程师更专注创造!欢迎加入 开源吐槽群🔥

Zadig on Githubhttps://github.com/koderover/zadig

Zadig on Giteehttps://gitee.com/koderover/zadig

发布于: 刚刚阅读数: 3
用户头像

KodeRover

关注

软件交付更丝滑~ 2022.04.06 加入

Zadig 是 KodeRover 团队基于 K8s 自主研发的开源分布式持续交付产品,重点解决企业级软件交付验证的痛点,并且 100% 开放源代码

评论

发布
暂无评论
Zadig + SonarQube,为开发过程安全保驾_DevOps_KodeRover_InfoQ写作社区