持续交付是一种软件开发实践,通过持续交付,系统可以自动为将代码更改发布到生产环境做好准备。​现代应用程序开发的支柱,持续交付通过在构建阶段后将所有代码变更部署到测试环境和/或生产环境中,实现对持续集成的扩展。在正确实施时,开发人员将始终拥有已通过标准化测试流程的部署就绪构建构件​。 

采用持续交付时,开发人员可以自动执行单元测试以外的测试,这样他们就可以在部署到客户环境前跨多个维度对应用程序更新进行验证。这些测试可能包括 UI 测试、负载测试、集成测试、API 可靠性测试等。这有助于开发人员更全面地验证更新并抢先发现其中的问题。借助云,开发人员可轻松高效地自动创建和复制多个用于测试的环境,而这一点以前在本地很难实现。

采用持续交付时,系统会构建并测试每一个代码变更,然后将其推送到非生产测试环境或临时环境中。生产部署前可能存在多个并行测试阶段。持续交付与持续部署之间的区别在于,需要手动批准才能更新到生产环境。对于持续部署,生产会在没有明确批准的情况下自动发生。 

持续集成和持续交付

持续交付可实现整个软件发布流程的自动化。提交的每一个修订都会触发一个自动化流程,即构建、测试并提供更新。部署到实际生产环境的最终决定由开发人员触发。


自动化软件发布流程

持续交付让您的团队能够自动构建、测试并准备代码变更,以便发布到生产环境中,从而使您的软件交付更加高效、快速。

提高开发人员的工作效率

这些实践可将开发人员从手动任务中解放出来,并且鼓励有助于减少部署到客户环境中的错误和缺陷数量的行为,从而提高团队的工作效率。

更早发现并解决缺陷

通过更频繁、更全面的测试,您的团队可以在缺陷稍后变成大问题前发现并解决这些缺陷。持续交付让您能够更轻松地对代码执行其他类型的测试,因为整个过程已实现自动化。

更快交付更新

持续交付有助于您的团队更快、更频繁地向客户交付更新。当持续交付得以正确实施时,您将始终能够获得一个已通过标准化测试流程的部署就绪型构建工件。 

您可以在 AWS 上通过多种方式练习持续交付。

使用 AWS CodePipeline 练习持续交付,从而帮助您建立能够在 AWS CodeBuild 中构建代码、运行自动测试和部署代码的工作流​程。按照我们的​教程试用 CodePipel​ine。

查看我们的合作伙伴解决方案