版权归原作者所有,如有侵权,请联系我们

[科普中国]-持续交付

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

持续交付(英语:Continuous delivery,缩写为 CD),是一种软件工程手法,让软件产品的产出过程在一个短周期内完成,以保证软件可以稳定、持续的保持在随时可以释出的状况。它的目标在于让软件的建置、测试与释出变得更快以及更频繁。这种方式可以减少软件开发的成本与时间,减少风险。

与DevOps的关系持续交付与DevOps的含义很相似,所以经常被混淆。但是它们是不同的两个概念。DevOps的范围更广,它以文化变迁为中心,特别是软件交付过程所涉及的多个团队之间的合作(开发、运维、QA、管理部门等),并且将软件交付的过程自动化。另壹方面,持续交付是壹种自动化交付的手段,关注点在于将不同的过程集中起来,并且更快、更频繁地执行这些过程。因此,DevOps可以是持续交付的壹个产物,持续交付直接汇入DevOps。

与持续部署的关系有时候,持续交付也与持续部署混淆。持续部署意味着所有的变更都会被自动部署到生产环境中。持续交付意味着所有的变更都可以被部署到生产环境中,但是出于业务考虑,可以选择不部署。如果要实施持续部署,必须先实施持续交付。1

持续交付四步实现自动化自动化流程被视为是人工流程的次级,一些人担心他们会做自动化工作。自动化减少了疲劳感,使开发人员有更多的时间关注在更多有趣的工作上。使较新的自动化工具,如Puppet and Chef,以及一些新的云服务,都对流程有帮助。

DevOps使用DevOps方法来摧毁阻碍了开发人员看到生产问题的运维的墙。

云基础设施Edmunds通过亚马逊web服务使用公有云资源,以及他们专有的本地虚拟化,以及带有防火墙的私有硬件。在这两种情况下,优势是一样的。广泛的虚拟化给他们提供了部署、测试和生产环境,这不仅仅是随时可用,而且与人工提供的环境相比更加一致。

每天通过他们的虚拟化环境自动化管理费数千万的个人设置和配置,这要求巨大量的硬件设备,以及每台设备的个人配置。有了虚拟化架构,新环境可以自动化得到支持。不再使用的旧环境可以迅速关闭,给新项目释放资源。

以软件为中心的哲学前三个组件:自动化、DevOps和云基础设施支持,内容管理得益于视编辑复制为软件这使得在失去性目标时,开发人员调试并修复问题时变得更加容易。2

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学