One size does not fit all: an empirical study of containerized continuous deployment workflows

One size does not fit all: an empirical study of containerized continuous deployment workflows
复制标题

DOI:
10.1145/3236024.3236033
复制
发表时间:
2018-10
期刊:
Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering
影响因子:
--
通讯作者:
Yang Zhang;Bogdan Vasilescu;Huaimin Wang;V. Filkov
Yang Zhang;Bogdan Vasilescu;Huaimin Wang;V. Filkov
中科院分区:
其他
文献类型:
--
作者:
Yang Zhang;Bogdan Vasilescu;Huaimin Wang;V. Filkov

文献摘要

被引文献

相似文献

持续部署(CD)是一种软件开发实践,旨在自动化软件产品的交付和部署,并遵循其代码的任何更改。如果正确实施,CD与开发过程中的其他自动化一起可以带来许多好处,包括对发布时间表的更高控制和灵活性,更低的风险,更少的缺陷以及更容易的新开发人员。在这里,我们重点关注由容器化引起的CD工作流的(r)演变,容器化是一种虚拟化技术,可以将应用程序及其所有依赖项和执行环境打包在一个轻量级的自包含单元中,Docker已成为事实上的行业标准。容器化CD工作流有许多可用的选择,对于给定的项目,有些比其他更合适。由于GitHub项目在Docker Hub上的交叉列表,在本文中,我们报告了一项混合方法研究,以揭示开发人员对容器化CD工作流的经验和期望。从一项调查开始,我们探讨了使用容器化CD的动机、具体工作流程、需求和障碍。我们发现两个突出的工作流,基于Docker Hub上的自动构建功能或持续集成服务,具有不同的权衡。然后,我们提出假设,并在大规模的定量研究中进行测试。
Continuous deployment (CD) is a software development practice aimed at automating delivery and deployment of a software product, following any changes to its code. If properly implemented, CD together with other automation in the development process can bring numerous benefits, including higher control and flexibility over release schedules, lower risks, fewer defects, and easier on-boarding of new developers. Here we focus on the (r)evolution in CD workflows caused by containerization, the virtualization technology that enables packaging an application together with all its dependencies and execution environment in a light-weight, self-contained unit, of which Docker has become the de-facto industry standard. There are many available choices for containerized CD workflows, some more appropriate than others for a given project. Owing to cross-listing of GitHub projects on Docker Hub, in this paper we report on a mixed-methods study to shed light on developers' experiences and expectations with containerized CD workflows. Starting from a survey, we explore the motivations, specific workflows, needs, and barriers with containerized CD. We find two prominent workflows, based on the automated builds feature on Docker Hub or continuous integration services, with different trade-offs. We then propose hypotheses and test them in a large-scale quantitative study.