什么是持续交付?
持续提供价值已成为组织必须满足的要求。 要向最终用户提供价值,必须不断进行发布,而不出现错误。
持续交付 (CD) 是指从构建环境到生产环境自动执行构建、测试、配置和部署的流程。 发布管道可创建多个测试或过渡环境以自动执行基础结构创建和部署新构建。 连续环境支持运行时间逐渐延长的集成、加载和用户验收测试活动。
在 CD 之前,软件发布周期是应用程序和运营团队的一大瓶颈。 这些团队通常依赖手动移交,从而导致发布周期内出现问题。 手动流程会导致产生延迟和错误的非可靠发布。
CD 是一种精简做法,其目标是使生产环境保持最新,并采用从新代码或组件可用性到部署的最快路径。 自动化可最大程度地减少部署时间和缓解时间 (TTM)或修正时间 (TTR) 生产事件。 就精简而言,CD 可优化流程时间并消除空闲时间。
持续集成 (CI) 可启动 CD 流程。 测试成功完成后,发布管道会将每个连续环境暂存到下一环境。 自动化 CD 发布管道支持针对验证的快速失败方法。此时,测试很可能会先快速运行,而运行时间较长的测试只有在速度更快的测试成功完成后才会执行。
基础结构即代码 (IaC) 和监视的补充做法有助于 CD。
渐进式公开技术
CD 支持多种渐进式公开模式,它们也被称为“控制爆破半径”。这些做法会限制对部署的公开,以避免整体用户群出现风险问题。
CD 可对多个部署环进行排序,以便进行渐进式公开。 一个环会尝试对用户组进行部署,并监视其体验。 在更广泛的发布之前,第一个部署环可作为生产环境中用于测试新版本的 Canary。 CD 会从一个环到下一个环自动执行部署。
部署到下一环可选择性地取决于手动审批步骤,其中决策者会以电子方式签核这些更改。 CD 可创建审批的可审核记录,以满足监管程序或其他控制目标。
蓝/绿部署依赖于使现有蓝色版本保持实时状态,同时新的绿色版本会进行部署。 此做法通常使用负载平衡从而将不断增加的流量定向到绿色部署。 如果监视功能发现了事件,可将流量重新路由到仍在运行的蓝色部署。
功能标志或功能切换是用于实验和暗启动的另一技术。 功能标志可根据标识和组成员身份为不同用户组打开或关闭功能。
现代发布管道允许开发团队快速、安全地部署新功能。 CD 可通过推进新部署来快速修正生产中发现的问题。 通过此方式,CD 可创建一个持续的客户价值流。