Continuous integration 持续集成、持续交付和DevOps之间的区别是什么?
我一起听到这些术语,不知道有什么区别?它们与连续构建和连续部署有什么关系?不同的人如何使用连续xxx短语可能有些模糊,但我认为这篇博文总结得很好 DevOps与其说是一个具体的实践,不如说是一个总体的想法,有点像敏捷是一个想法,而单元测试是一种实践。/continuous builds就是让开发人员将代码提交到源代码存储库中,很少且经常提交(并从存储库获取最新版本,因此任何进一步的更改都基于其他开发人员最近的更改)。这减少了在合并解析上浪费的时间,因为在这种情况下合并更容易 该过程最好使用构建服务器实现自动化,构建服务器也可以运行任何单元测试。然后在构建/测试失败的情况下向开发人员提供反馈,以便快速修复任何问题 持续部署涉及将构建过程中的构建构件自动部署到测试和生产环境中。为了降低与此相关的风险,人们通常使用将发布(以受控方式)与部署分离 持续交付与技术无关,而与组织的软件交付方法有关(尽管IT确实大量使用自动化) DevOps是一个更大的领域,它通常强调打破开发人员和运营团队之间的障碍,让他们以一种能够从综合技能中获益的方式进行协作。环境资源调配、构建部署、监控(以及对问题和可伸缩性的自动反应)更加自动化在一些组织中,专门的DevOps团队已经成立。连续交付(CD)是一个概念,在2010年由ThoughtWorks的Jez Humble和David Farley合著的书中首次描述 持续集成和持续交付经常相互混淆,但有一些关键区别:Continuous integration 持续集成、持续交付和DevOps之间的区别是什么?,continuous-integration,devops,continuous-delivery,Continuous Integration,Devops,Continuous Delivery,我一起听到这些术语,不知道有什么区别?它们与连续构建和连续部署有什么关系?不同的人如何使用连续xxx短语可能有些模糊,但我认为这篇博文总结得很好 DevOps与其说是一个具体的实践,不如说是一个总体的想法,有点像敏捷是一个想法,而单元测试是一种实践。/continuous builds就是让开发人员将代码提交到源代码存储库中,很少且经常提交(并从存储库获取最新版本,因此任何进一步的更改都基于其他开发人员最近的更改)。这减少了在合并解析上浪费的时间,因为在这种情况下合并更容易 该过程最好使用构建
- CI可以由一个开发人员完成,其中CD需要团队协作
- 没有CI,CD无法完成
- CD是一个线性过程,CI是一个持续的反馈(构建)循环,推动CD前进
- 有了CD,您随时可以推送到prod
- CI允许您多次将代码签入repo,以便您可以及早发现问题
FWIW,这看起来是一个很好的候选问题,适用于关于Area51的
DevOps
SE提案,以防您有兴趣加入:参见