CI 和CD是人们谈论现代开发实践时经常提到的两个缩略语。CI 代表持续集成,这种实践专注于使发布更容易。但CD 可能意味着持续交付或持续部署,虽然这两种实践有很多共同之处,但他们也有显著的差异,可能对业务产生严重的后果。
我们将在本文中看到这三种实践的含义以及使用它们需要什么条件。
持续集成,持续交付和持续部署之间有什么区别?
持续集成
实施持续集成的开发人员会尽可能多地将其更改合并到主分支。通过创建构建并针对构建运行自动化测试来验证开发人员的更改。通过这样做,您可以避免通常在人们等到发布当天将其更改合并到发布分支时发生的集成地狱。
持续集成非常强调测试自动化,以便在新的提交集成到主分支时检查应用程序是否被破坏。
持续交付
持续交付是持续集成的延伸,以确保您可以以可持续的方式快速向客户发布新的更改。这意味着除了自动化测试之外,您还可以自动执行发布过程,并且可以通过单击按钮随时部署应用程序。
从理论上讲,通过持续交付,您可以决定每天、每周、每两周或任何适合您业务需求的发布。但是,如果您真的希望获得持续交付的好处,则应尽早部署到生产中,以确保发布小的分支,在出现问题时容易进行故障排除。
持续部署
持续部署比持续交付更近一步。通过这种做法,每个通过生产管道所有阶段的更改都将发布给您的客户。没有人为干预,只有失败的测试才能阻止将新的更改部署到生产中。
持续部署是加速与客户建立反