持续集成与持续部署 (CI/CD) 它是什么? 持续集成和持续交付/部署(CI/CD)是一种开发方法论,旨在解决在集成过程中遇到的典型问题。当多名开发人员并行工作时,维护一个稳定且无错误的主分支变得越来越困难。通过CI/CD,集成过程中的步骤被自动化,并且应用程序的生命周期不断受到监控。理想情况下,这种方法可以避免“集成地狱”,即多名开发人员各自开发功能后发现无法顺利整合代码,不得不花费大量时间来审查和修复代码的情况。 参考《敏捷术语表》中对“集成地狱”的定义: 集成地狱是指交付团队成员将各自编写的代码整合到一起的生产阶段。在传统的软件开发环境中,这个整合过程通常并不顺利,可能会耗费数小时甚至数天的时间来修复代码,才能最终完成整合。
持续集成和持续交付/部署(CI/CD)是一种开发方法论,旨在解决在集成过程中遇到的典型问题。当多名开发人员并行工作时,维护一个稳定且无错误的主分支变得越来越困难。通过CI/CD,集成过程中的步骤被自动化,并且应用程序的生命周期不断受到监控。理想情况下,这种方法可以避免“集成地狱”,即多名开发人员各自开发功能后发现无法顺利整合代码,不得不花费大量时间来审查和修复代码的情况。
参考《敏捷术语表》中对“集成地狱”的定义:
集成地狱是指交付团队成员将各自编写的代码整合到一起的生产阶段。在传统的软件开发环境中,这个整合过程通常并不顺利,可能会耗费数小时甚至数天的时间来修复代码,才能最终完成整合。持续集成(CI)的目标是完全避免这种情况,通过鼓励团队成员频繁地(例如每小时或至少每天)进行集成来实现。

持续集成(CI)的目标是快速生成可工作的代码。成功的CI意味着应用程序的变更会定期构建、测试和合并。这种集成可能每天发生多次,并且通常涉及自动化测试用例和明确的构建流程,以尽量减少错误。使用CI方法论时,主要关注点应该是:
这个术语经常与持续部署互换使用,但有时会有细微差别。通常,持续交付指的是开发者如何不断地将已经经过测试的代码交付出去。这并不意味着集成后的代码会在生产环境中使用。在持续交付过程中,从开发环境到仓库的代码推送过程是自动化的,减少了或消除了手动步骤。
尽管每个团队的做法不同,但持续部署通常指的是集成后的代码会自动部署到应用程序的生产站点。持续部署和持续交付经常都被包含在CD中,因为典型的CI/CD流水线通常同时包括这两者,它们相辅相成。
RedHat 在他们的文章《什么是CI/CD流水线?》中提供了以下定义:
构成CI/CD流水线的步骤是任务的子集,这些子集被称为流水线阶段。典型的流水线阶段包括:

声明:
本文件灏天文库团队进行了翻译。尽管我们力求准确,但请注意,翻译可能包含错误或不准确之处。原文档以其原始语言为准。我们不对因使用此翻译而产生的任何误解或误译负责。