您的位置:  首页 > 技术杂谈 > 正文

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

2022-06-14 21:00 https://my.oschina.net/koderover/blog/5539076 Zadig云原生交付 次阅读 条评论

 

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

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

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

项目背景

  • 源码:koderover/zadig [1]

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

如何使用

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

系统管理员:集成 SonarQube

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

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

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

 
 

工程师:配置代码扫描

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

配置细节如下:

  • 名称zadig-scan
  • 扫描工具:SonarQube
  • 扫描环境:sonar:latest
  • sonar 地址:上一步中集成的 SonarQube 服务器地址
  • 代码信息:Zadig 代码库
  • 参数配置:参考 SonarQube 文档 [3],本例中配置内容如下
# Sonar 参数sonar.projectKey=zadig-pkgsonar.projectName=zadig-pkgsonar.sources=./pkgsonar.go.file.suffixes=.go

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

工程师:执行并分析结果

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

 

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

 

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

Webhook 一触即发

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

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

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

扫描结果及时反馈

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

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

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

Zadig on Github

Zadig on Gitee

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接