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

网络 通信技术
持 续交付(Continuous Delivery)是一系列的开发实践方法,用来确保让代码能够快速、安全的部署到产品环境中,它通过将每一次改动都提交到一个模拟产品环境中,使用严格 的自动化测试,确保业务应用和服务能符合预期。
  • 持续交付并不是指软件每一个改动都要尽快的部署到产品环境中。它指的是任何的修改都已证明可以在任何时候实施部署。
  • — Carl Caum (@ccaum) August 28, 2013

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

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

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

  • @ccaum @steveburnett 我想很多人都混淆了“交付”和“部署”。
  • — Magnus Hedemark (@Magnus919) August 29, 2013

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

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

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

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

责任编辑:武晓燕 来源: oschina
相关推荐

2016-08-05 17:19:37

持续集成持续交付系统运维

2017-02-27 18:35:23

集成交付部署

2023-05-12 15:07:40

测试开发

2017-12-24 21:29:18

OpenShift持续交付集群

2017-10-19 09:47:55

容器化微服务集成

2017-02-27 18:50:42

运维持续交付

2021-03-31 09:00:00

管道集成工具

2017-03-17 08:59:55

持续部署Microservic架构

2015-07-22 14:59:30

OpenStac持续集成持续交付

2014-05-26 10:56:46

持续交付

2017-12-10 20:53:56

Docker持续交付容器

2021-06-18 09:00:00

云计算开发存储库

2018-04-16 13:56:31

GitHubPythonFlask

2016-01-07 10:29:36

MesosDocker持续交付

2017-02-27 18:20:30

Amazon持续交付

2020-06-23 10:41:08

云计算DevOps持续集成

2023-02-20 08:02:38

智能自动化交付

2017-02-27 18:24:34

交付开发工具

2021-07-23 10:17:17

网络攻击存储供应链

2023-01-16 08:00:00

点赞
收藏

51CTO技术栈公众号