研讨会回顾|AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

400-666-7732

研讨会回顾

AI驱动的DevOps云端转型:Atlassian Cloud + AI 实战指南

代码质量与安全 | 什么是质量门?如何作用于DevOps流程?

“质量门”正如其名:它们在软件开发生命周期(SDLC)的各个阶段充当质量里程碑(或 “门槛”),防止不良代码通过,从而确保交付高质量的软件。

阅读本文,您将了解什么是质量门、质量门的工作原理以及如何使用静态代码分析工具(如Klocwork 和 Helix QAC)实现质量门。

什么是质量门?

质量门是在IT或开发项目中实施的检查点,这些检查点要求在进入下一个开发阶段之前达到最低标准。质量门可以阻止不合格代码的部署,帮助确保更高质量的产品。

通过质量门,您可以根据为代码设定的指标和条件来执行质量和其他评估。这是一种识别瓶颈和问题区域的有效方法,以避免在后续工作中遇到这些问题。

在DevOps中,质量门用于衡量整个开发或质量保证流程的质量,并识别漏洞,防止后期的延误和返工。它们是在重要关头实施的项目管理措施,使团队放心地向前推进,因为他们知道自己的代码已经达到了该阶段所要求的质量标准。

为什么质量门在DevOps流程中至关重要?

质量门有助于确保软件的稳定性和可靠性。质量门的迭代特性有助于质量保证工程师和开发人员跟踪错误,并在问题出现时尽快解决,从而提高质量和投资回报率。由于团队设定了通过质量门的条件,因此可以根据项目需要随时定制质量门。 

在开发流程中构建质量门有诸多好处: 

提高整体质量并维护安全性:

在整个SDLC过程中,有策略地设置质量门可作为质量基准,并通过尽早、频繁地指出代码中的薄弱环节来维护安全性。它们可作为左移方法的一部分,用于在SDLC的早期发现问题,并可在CI/CD流水线中有效实施。

节省代码审查时间:

质量门可作为一个检查表,跟踪目前已达到的要求,以便其他开发人员在评估代码时快速审查。

优化软件性能:

理想情况下,代码应该是干净、可维护和可重用的。质量门提供的衡量标准有助于分析代码性能,并删除冗余或阻碍系统运行的代码。您可以为质量门设置软件指标,如循环复杂度。

持续监控代码库:

质量门持续监控源代码的质量,就组织设定的关键指标提供一致反馈。

合规性验证:

质量门可以确保并验证代码是否符合既定的编码安全标准。

质量门的工作原理

作为持续集成的一部分,流水线质量门确保项目符合预定义的标准,以便进入下一个开发阶段。代码会先进入暂存仓库,直到满足要求。

质量门的状态包括:

  1. 通过:满足要求,可以继续生产。 

  2. 警告:可能接近满足要求,或勉强通过,因此在允许进入下一阶段前,应对代码进行验证。 

  3. 失败:不满足要求。应先解决标记的问题,然后才能继续生产。 

实施质量门的最佳实践是在开发的每个关键阶段设置质量门: 

  • 规划 

  • 编码 

  • 构建

  • 测试 

  • 发布 

  • 部署 

关键在于将质量门限制在这些主要阶段,因为添加的质量门越多,测试就会变得越复杂,从而可能导致代价高昂的延迟。在CI/CD流水线中策略性地设置质量门,还意味着不必按顺序进行设置,可以有多个并行的流水线和并行或重叠的测试。

将Klocwork和Helix QAC用作质量门

无论是执行增量分析、差异分析还是集成分析,静态分析/SAST工具旨在优化DevOps和DevSecOps流程,并且可以作为一种质量门,检查代码内部的代码质量和安全问题,而不会减慢开发速度。

一些静态分析工具,如Klocwork和Helix QAC,可以在新代码进入时执行合并请求分析。在满足设定的条件之前,质量门会阻止将提交的代码合并到受保护的分支中。例如,您可以在GitLab或类似的CI环境中使用Klocwork作为质量门。

虽然实施质量门需要一些初步规划,但它有助于简化DevOps流程。使用正确的工具构建质量门可以加快您的流程,并确保代码的最高质量。 

– END –

获取更多KlocworkHelix QAC功能详情,欢迎咨询Perforce中国授权合作伙伴——龙智:

官网:www.shdsd.com

电话:400-666-7732

邮箱:marketing@shdsd.com

作者:Dzuy Tran,Perforce首席解决方案架构师;Joe Wrijil,Perforce高级销售工程师

最新文章

相关产品

分享到:
关于龙智

龙智DevSecOps解决方案

龙智深耕DevSecOps相关领域近十年,集成DevOps、ITSM、Agile管理思路及该领域的优秀工具,提供软件研发生命周期管理解决方案,以及实施、培训、升级、数据迁移、定制开发、运维等服务。

龙智致力于帮助企业实现软件开发运营一体化,并确保安全防护融入软件研发的整个生命周期中。龙智提供从产品规划与需求管理、开发,到测试、部署以及运维全生命周期的解决方案与管理工具,帮助企业科学、高效、安全地管理软件开发,更快、更好地交付软件产品。

近年来,龙智团队潜心开发,先后帮助金融、通信、互联网、汽车、芯片、游戏、医疗等行业的1000多家企业促进开发安全运营的一体化的实践。 秉承着打造开放式DevSecOps的理念,龙智与国外其他多家DevOps工具顶级厂商如Atlassian、Perforce、Mend(原WhiteSource)、CloudBees、SmartBear等合作,将国际市场上先进的工具引入中国市场,帮助企业打造量身定制的DevSecOps解决方案、ITSM解决方案,助力企业高效开发与运维。

我们的自研产品包括Confluence水印插件,Timewise-Jira计划及实际工时管理插件,Jira服务台企业微信应用插件等;我们还与全球DevOps领域领先的企业建立了合作伙伴关系,我们是:

· Atlassian全球白金合作伙伴

· Perforce中国授权合作伙伴

· Mend (原WhiteSource)中国授权合作伙伴

· CloudBees中国授权合作伙伴

· SmartBear中国授权合作伙伴