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

持续交付并不是指软件每一个改动都要尽快的部署到产品环境中。它指的是任何的修改都已证明可以在任何时候实施部署。

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


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


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

持续交付(Continuous Delivery)和持续部署(Continuous Deployment)的区别_第1张图片持续交付(Continuous Delivery)和持续部署(Continuous Deployment)的区别_第2张图片

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



你可能感兴趣的:(测试人生)