View a markdown version of this page

试 CI/CD 金石:你的管道是否完全是 CI/CD? - AWS 规范性指导

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

试 CI/CD 金石:你的管道是否完全是 CI/CD?

Steven Guggenheimer 和 Ananya Koduri,Amazon Web Services(AWS)

2023 年 8 月文档历史记录

您的管线是否已实现自动化? 这是一个简单的问题,但许多组织给出的答案却过于片面。答案蕴含的复杂性远非所能概括。

技术创新日新月异,有时组织可能很难跟上步伐。这项新技术是昙花一现,还是会成为下一个主流? 我应该彻底改革现有的做法,还是应该静观其变? 通常,当明确某项技术是大势所趋时,企业往往已陷入被动追赶的境地。持续集成和持续交付(CI/CD)已成为长期趋势,但并非一直如此。许多人花了很长时间才被说服,有些人仍持观望态度。

CI/CD is the process of automating the source, build, test, staging, and production stages of the software release process, and it is commonly described as a pipeline. Today, the cost savings and speed of CI/CD自动化使大多数组织相信了它的价值。但过渡到这种新方法并非易事。您需要确保员工接受过正确的培训,需要升级一些资源,然后需要不断测试、测试、再测试。工作量巨大。大多数情况下,您需要逐步进行这些变更,以帮助组织适应。

本文档的目的是定义拥有完整 CI/CD 流程意味着什么。它提供了一种工具来评估您自身的流程,并为尚未实现的流程提供前进方向。这条前进的道路很少能一蹴而就。相关流程很复杂,取决于许多因素,包括当前员工的技能集以及当前基础设施需求。我们建议您分清轻重缓急,小幅、循序渐进地进行改进。

目标

实施本指南中的建议可能带来以下潜在优势:

  • 效率 — 全面 CI/CD 部署过程可以减少复杂性、减少工作量,并减少花费在调试、执行手动流程和维护上的无数时间。有关更多信息,请参阅持续交付的优势。根据一篇TechAhead 博客文章,该 CI/CD 流程的实施估计可以节省20%的时间、精力和资源。

  • 成本削减:根据 Forbes Insight 报告,“四分之三的高管认为,相较于新项目开发或新举措,花费在持续维护和管理方面的时间、金钱和资源,正在影响其组织的整体竞争力。” 开发周期越短,您的组织就越有可能在正确的时间 time-to-market实现雄心勃勃的目标并抓住合适的机会。

  • 速度 — 通常,完整的CI/CD pipeline is able to release software changes to customers within a few hours. Especially in cases with quick fault isolations and small patch pushes, the CI/CD管道有助于缩短平均恢复时间 (MTTR)。有关更多信息,请参阅 Reducing MTTR

  • 安全 — 完全 CI/CD 管道还可以减少攻击的可能入口点并降低人为错误的风险,从而保护发布过程。全自动 CI/CD 管道带来的安全优势有助于避免数据泄露、服务中断等造成的代价高昂的后果。

  • 降低流失率:当开发人员可以花更多的时间用来创建出色的功能,而不是陷入无休止的维护和调试循环时,他们会更加满意。对于组织而言,这意味着能够更长时间地吸引和留住顶尖人才。

  • 卓越的代码质量 — 开发人员以小批量方式将代码发布到共享存储库中,这使他们能够进行并行测试(BrowserStack 博客文章)。他们并非各自为战,而是经常与团队共享构建成果,并协作识别关键错误。这为开发人员提供了支持,有助于防止不良代码进入生产环境。来自开发人员同行的支持有助于发布高质量版本,并推动组织发展。

  • 维护:维护和更新是制作一款出色产品的关键部分。但是,不要在流量高峰时段关闭系统。您可以使用 CI/CD 管道在低使用率时段执行维护,从而最大限度地减少停机时间和对性能的影响。