软件开发生产线 CODEARTS-持续部署:持续交付与持续部署

时间:2024-11-08 17:51:23

持续交付与持续部署

每个团队都应该根据自己的需求做出选择。我们不应该关注形式,而应该关注结果:部署应该是无风险、按需进行的一键式操作。

  • 持续交付

    持续交付(CD) 是指,所有开发人员都在主干上进行小批量工作,或者在短时间存在的特性分支上工作,并且定期向主干合并,同时始终让主干保持可发布状态,并能做到在正常的工作时段里按需进行一键式发布。开发人员在引入任何回归错误时(包括缺陷、性能问题、安全问题、可用性问题等),都能快速得到反馈。一旦发现这类问题,就立即加以解决,从而保持主干始终处于可部署状态。

    ( Wikipedia: Continuous delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. )

    持续交付是持续集成的延伸,将集成后的代码部署到类生产环境,确保可以以可持续的方式快速向客户发布新的更改。如果代码没有问题,可以继续手动部署到生产环境中。

  • 持续部署

    持续部署是指,在持续交付的基础上,由开发人员或运维人员自助式的定期向生产环境部署优质的构建版本,这通常意味着每天每人至少做一次生产环境部署,甚至每当开发人员提交代码变更时,就触发一次自动化部署。

    持续交付是持续部署的前提,就像持续集成是持续交付的前提条件一样。持续部署则是在持续交付的基础上,把部署到生产环境的过程自动化。

    持续部署更适用于交付线上的Web服务,而持续交付适用于几乎任何对质量、交付速度和结果的可预测性有要求的低风险部署和发布场景,包括嵌入式系统、商用现货产品和移动应用。这意味着除了自动化测试之外,还可以自动完成发布过程,并且可以通过单击按钮随时部署应用程序。

    从理论上讲,通过持续交付,可以决定每日,每周,每两周发布一次,或者满足您业务需求的任何频率。

    但是,如果真的想获得持续交付的好处:应该尽早部署到生产环境,以确保可以小批次发布,在发生问题时可以轻松排除故障。

support.huaweicloud.com/reference-devcloud/devcloud_reference_040402.html