DevOps Workshop | 代码管理入门:基于代码扫描实现团队效率提升 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Coding.NET 轻量级社交
开源项目广场
使用帮助
意见反馈
CodingNET
V2EX   Coding

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

  •  
  •   CodingNET 2020 年 11 月 30 日 1577 次点击
    这是一个创建于 1907 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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     Solana     1006 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 16:50 PVG 00:50 LAX 08:50 JFK 11:50
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86