V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
CodingNET
V2EX  ›  Coding

DevOps Workshop | 代码管理入门:基于代码扫描实现团队效率提升

  •  
  •   CodingNET · 2020-11-30 18:56:13 +08:00 · 1201 次点击
    这是一个创建于 1448 天前的主题,其中的信息可能已经有所发展或是发生改变。

    CODING 「 DevOps Workshop 学习营地」 持续火热进行中!

    在这里,你可以轻松实践 DevOps 全流程、体验高效的云端开发、赢取精美礼品——第二期大奖 「戴尔 U2718Q 显示器」 将于 12 月 3 日开奖,请尽快前往 CODING,完成任务参与抽奖,iPad Pro 、HHKB 键盘和 Bose 耳机等礼品均有机会获得!也可以根据 CODING 最佳实践系列文章,探索更多新玩法。

    「 DevOps Workshop 学习营地」活动链接
    https://workshop.coding.io
    点击直达,在 PC 端浏览器中打开体验更佳

    接下来,开始阅读本篇 CODING 代码管理能力之「代码扫描」最佳实践吧!


    CODING 代码扫描通过分析代码仓库中的源代码,能够及时发现其中潜藏的代码缺陷、安全漏洞以及不规范代码。

    • 代码扫描内部目前集成了几十种工具、数千条规则,支持十余种常用开发语言,可在功能、安全、性能、可用性、代码规范等多个维度寻找您代码中的漏洞并提供修改建议。
    • 责任人自动指派问题代码提交人,问题代码修复后可自行关闭,实现问题的闭环处理。
    • 为了便于您的使用,系统内置了多种推荐扫描方案,也支持您按需定制。
    • 支持自动化执行代码扫描:您可以通过设置触发规则,指定合适的时机比如合并请求时自动执行代码扫描。
    • 支持对仓库的多个分支进行全量或增量的扫描。

    实践—辅助代码评审

    在团队的开发协作中,为把控工程质量,推荐在合并场景中进行代码评审。但仅采用人工审查的方式,往往需要耗费大量时间与精力,使用代码扫描可自动扫描源分支生成扫描结果,并根据扫描结果自动拦截问题代码的合入,防止目标分支被污染,提升代码评审效率。

    配置扫描任务

    新建扫描任务

    选定需管控代码质量的仓库及分支,以及拟使用的扫描方案,即可创建扫描任务。

    1

    配置触发规则

    在扫描任务中点击设置,轻点触发规则即可看到代码仓库触发设置。

    2

    配置质量门禁

    开启后,建议将致命问题和错误问题阈值设置为 0,其一般为影响系统稳定和安全的严重漏洞。

    3

    开启「管控合并请求」开关后,无论是否为保护分支,合并至此分支的所有合并请求必须通过质量门禁后才允许合并。

    代码扫描如何用于辅助代码评审

    合并请求触发扫描

    按照上文所述配置好分支的扫描任务后开启「管控合并请求」,向该分支新建合并请求时将自动触发代码扫描,若不通过质量门禁将自动拦截禁止合入。

    您可以在合并请求详情中,查看问题概览、问题报告来了解代码质量。

    4

    查看问题报告

    点击查看问题报告,可以看到本次扫描后的所有问题,每个问题都有与之对应的所属文件、问题所匹配的规则、问题级别等内容。

    5

    查看问题详情

    点击查看问题,可以看到问题的位置与错误原因,点击右侧的修复建议可以查看问题原因并辅助进行修复。

    示例:sql 注入警告

    6

    修复问题后重新推送

    建议按照问题级别依次修复扫描出的问题,在本地修复完成后可提交至源分支,将自动触发代码扫描。

    总结

    通过上述方式配置代码扫描,可帮助团队在合并请求的场景中有效的管控代码质量,并提升团队对代码评审的效率和积极性,进而提升整个团队的工程质量。

    • 对于提交者,代码扫描可以提前发现自己的问题,及时修正以避免合并请求被拒绝。
    • 对于评审者,代码扫描不仅可以通过扫描结果辅助代码评审,还能够自动拦截问题代码的合入。
    • 对于团队,有了代码扫描可以在日常工作中提前发现问题代码,提高代码评审的效率,降低项目交付上线时存在的风险。

    点击前往活动,「 DevOps Workshop 学习营地」大奖等你赢!

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2692 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:59 · PVG 18:59 · LAX 02:59 · JFK 05:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.