持续交付和持续部署的区别

oschina
 oschina
发布于 2013年10月29日
收藏 47

我在上周三写的这条微博。它在微博上激起了活跃的讨论,周四的时候已经被转发了87次,获得了25个赞。

很显然,这是个很火的话题,很多人对持续交付和持续部署之间的区别很困惑。有必要用超出微博字数限制的文字来说说这个概念。

持 续交付(Continuous Delivery)是一系列的开发实践方法,用来确保让代码能够快速、安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格 的自动化测试,确保业务应用和服务能符合预期。因为使用完全的自动化过程来把每个变更自动的提交到测试环境中,所以当业务开发完成时,你有信心只需要按一 次按钮就能将应用安全的部署到产品环境中。

持续部署(Continuous deployment)是持续交付的更高阶段:所有通过了自动化测试的改动都自动的部署到产品环境里。大多数的公司如果没有制度的约束或其它条件的影响,都应该以持续部署为目标。

有很多的业务场景里,一种业务需要等待另外的功能特征出现才能上线,这使得持续部署成为不可能。虽然使用功能切换能解决很多这样的情况,但并不是每次都会这样。所以,持续部署是否适合你的公司是基于你们的业务需求——而不是技术限制。

持续交付(Continuous Delivery)和持续部署(Continuous Deployment)的区别

Inspired by Yassal Sundman’s blog post on Crisp’s Blog.

虽然持续部署并不适合所有公司,但持续交付绝对应该是每个公司需要追求的目标。只有当你能够持续交付你的代码时,你才能有信心通过点击“go”按钮,在几分钟内让你的修改提交给客户、服务于客户。才有信心在任何时候——一旦业务允许——可以立即点这个按钮。

[英文原文:Continuous Delivery Vs. Continuous Deployment: What's the Diff? ]

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:持续交付和持续部署的区别
加载中

最新评论(6

donhui
donhui
仍然有手动部署的
innerp
innerp

引用来自“小白小霸王”的评论

老外的东西不一定适合和谐国家

不一定哦,目前某些大互联网公司,基本都是持续集成,每周一次上线(如果包含bug fix的 可能每天都在上线)
小白小霸王
小白小霸王
老外的东西不一定适合和谐国家
马博文
马博文
这些都是些概念吧,交付更多的是业务角度,部署是具体的概念,不一定是产品,也可能是测试环境。
x
xx-xx-xx
如果不是诺鸡鸭,WP这种又烂又丑的玩意说不定早死了,不死也比现在的境况差很多!
all_bright
all_bright
10
返回顶部
顶部