什么是持续交付?

复制 URL

持续交付是一种软件开发方法,它利用自动化来加快新代码的发布。

在持续交付流程中,开发人员对应用所做的更改可通过自动化被推送至代码存储库或容器镜像仓库

获取 DevOps 企业自动化检查清单

持续交付是 CI/CD 的一部分,后者这种方法通过对应用开发的某些阶段自动化,来更频繁地交付软件。 

CI/CD 中的“CI”是指持续集成。借助持续集成,我们可以定期将应用代码的新变更构建、测试并合并到共享存储库中。这种方法可以解决在一次开发中有太多应用分支,从而导致相互冲突的问题。

CI/CD 中的“CD”可以指连续部署或持续交付,指的是自动化管道后续阶段的方法。

CI/CD FLow

阅读有关 CI/CD 的更多内容

红帽资源

持续交付和持续部署是两个紧密相关的概念,但它们有时也会单独使用,表明自动化不同的程度。

持续交付通常是指开发团队对应用的更改会自动进行错误测试并上传到存储库(如 GitHub 或容器镜像仓库),然后由运维团队将其部署到实时生产环境中。这旨在解决开发和运维团队之间可见性及沟通较差的问题。因此,持续交付的目的就是确保尽可能减少部署新代码时所需的工作量。

另一方面,持续部署则涵盖了新软件发布过程中的一些额外步骤。它通常指的是自动将开发人员的变更内容从存储库发布到生产环境,以供客户使用。它主要为了解决因手动流程降低应用交付速度,从而使运维团队超负荷的问题。持续部署以持续交付的优势为根基,实现了管道后续阶段的自动化。

CI/CD 管道是为了交付新版本的软件而执行的一系列步骤。把 CI/CD 投入实用,就相当于完成了 CI/CD 管道的构建。

CI/CD 管道加入了监控和自动化来改进应用开发工作流,尤其是在集成和测试阶段以及交付和部署过程中。 

尽管可以手动执行 CI/CD 管道的每个步骤,但 CI/CD 管道的真正价值在于应用生命周期的自动化。

阅读有关 CI/CD 管道的更多内容

DevOps(一个将“开发”和“运维”合二为一的概念)是指对企业文化、业务自动化和平台设计等方面进行全方位变革,从而实现迅捷、优质的服务交付,提升企业价值和响应能力。

持续交付是一种特定的软件开发实践,通常与 DevOps 结合使用。DevOps 方法中可能会创建持续交付管道。

DevOps 旨在实现既快又稳的工作流程,使每个想法(比如一个新的软件功能,一个功能增强请求或者一个 bug 修复)在从开发到生产环境部署的整个流程中,都能不断地为用户带来价值。 

借助 DevOps,通常在标准开发环境编写代码的开发人员也可与测试人员和 IT 运维团队紧密合作,加速软件构建、代码提交、单元测试和发布,同时保障开发成果的稳定可靠。

实施 DevOps 的一大重要成果,就是由开发和运维团队利用敏捷方法共同支持的 CI/CD 管道。 

阅读更多有关 DevOps 的信息

CI/CD 依靠自动化来加快开发、部署和测试流程。自动化有助于在保持质量的同时减少人为错误。在 DevSecOps 策略中,自动化还有助于提高安全性。

有些工具专门处理集成 (CI) 方面的问题,有些工具负责管理开发和部署 (CD) 工作,而另外一些工具则专注于持续测试或相关功能。

针对 CI/CD 的最著名的开源工具之一就是自动化服务器 Jenkins。从简单的 CI 服务器到完整的 CD 集线器,Jenkins 都可以处理。

另一个常用的开源项目是 Tekton,它是持续交付基金会旗下的产品。Tekton 允许使用 Kubernetes 以声明式描述交付管道,并按需在容器中执行这些交付管道。

Tekton 是 OpenShift 管道(面向红帽® OpenShift® 的 CI/CD 解决方案)的基础。

了解 OpenShift 管道

中心

红帽官方博客

获取有关我们的客户、合作伙伴和社区生态系统的最新信息。

所有红帽产品试用

我们的免费试用可让您亲身体验红帽的产品功能,为获得认证做好准备,或评估某个产品是否适合您的企业。

扩展阅读

什么是平台工程?

平台工程是软件开发中的一门学科,专注于提高生产力、应用周期时间和上市速度。

什么是 CI/CD?

CI/CD 是持续集成和持续交付/部署的缩写,旨在简化并加快软件开发生命周期。

什么是内部开发人员平台?

内部开发人员平台(IDP)由一系列标准化的自助服务工具和技术组成,供开发人员来创建和部署代码。

DevOps 相关资源