持续集成、持续交付、持续部署

持续集成是一种软件开发实践,团队开发成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

  • 集成是指软件个人研发的部分向软件整体部分交付,以便尽早发现个人开发部分的问题;
  • 部署是代码尽快向可运行的开发/测试节交付,以便尽早测试;
  • 交付是指研发尽快向客户交付,以便尽早发现生产环境中存在的问题。

所谓的持续,就是说每完成一个完整的部分,就向下个环节交付,发现问题可以马上调整。使得问题不会放大到其他部分和后面的环节。
这种做法的核心思想在于:既然事实上难以做到事先完全了解完整的、正确的需求,那么就干脆一小块一小块的做,并且加快交付的速度和频率,使得交付物尽早在下个环节得到验证。早发现问题早返工。
The Product Managers’ Guide to Continuous Delivery and DevOps中对持续集成(Continuous Integration)、持续交付(Continuous Delivery)和持续部署(Continuous Deployment)这三个概念有很详细的解释。借用文中的插图:
持续集成:
持续集成强调开发人员提交了新代码之后,立刻进行构建、(单元)测试。根据测试结果,我们可以确定新代码和原有代码能否正确地集成在一起。
持续集成
持续交付:
持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的「类生产环境」(production-like environments)中。比如,我们完成单元测试后,可以把代码部署到连接数据库的 Staging 环境中更多的测试。如果代码没有问题,可以继续手动部署到生产环境中。
持续交付
持续部署:
持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。我个人觉得持续集成、持续交付、持续部署非常值得推广。开发过程中最怕集成时遇到问题导致返工,而持续集成、持续交付、持续部署恰恰可以早发现早解决,从而可以避免这个问题。

持续部署

参考链接:
https://www.zhihu.com/question/23444990/answer/26995938
https://www.zhihu.com/question/23444990/answer/89426003
http://www.mindtheproduct.com/2016/02/what-the-hell-are-ci-cd-and-devops-a-cheatsheet-for-the-rest-of-us/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值