In recent years, Continuous Integration (CI) and Continuous Delivery (CD) has been heatedly discussed and widely used in part or all of the software development life cycle as the practices and pipeline to deliver software products in an efficient way. There are many tools, such as Travis CI, that offer various features to support the CI/CD pipeline, but there is a lack of understanding about what decisions are frequently made in CI/CD. In this work, we explored one popular open-source project on GitHub, Budibase, to provide insights on the types of decisions made in CI/CD from a practitioners' perspective. We first explored the GitHub Trending page, conducted a pilot repository extraction, and identified the Budibase repository as the case for our study. We then crawled all the closed issues from the repository and got 1,168 closed issues. Irrelevant issues were filtered out based on certain criteria, and 370 candidate issues that contain decisions were obtained for data extraction. We analyzed the issues using a hybrid approach combining pre-defined types and the Constant Comparison method to get the categories of decisions. The results show that the major type of decisions in the Budibase closed issues is Functional Requirement Decision (67.6%), followed by Architecture Decision (11.1%). Our findings encourage developers to put more effort on the issues and making decisions related to CI/CD, and provide researchers with a reference of decision classification made in CI/CD.
翻译:近年来,持续整合(CI)和连续提供(CD)项目被热烈讨论,并被广泛用于部分或全部软件开发生命周期,作为高效提供软件产品的做法和管道。许多工具,如Travis CI, 提供了支持CI/CD管道的各种特点,但缺乏对CI/CD管道经常做出决定的理解。在这项工作中,我们探索了在Budibase GitHub的一个广受欢迎的开放源码项目,以便从实践者的角度深入了解在CI/CD中做出的决定类型。我们首先探讨了GitHub Trending网页,进行了试验性存储库提取,并确定了Budibase仓库,作为我们的研究案例。我们随后从存储处收集了所有封闭问题,并获得了1,168个封闭问题。根据某些标准过滤了相关问题,并获得了370个含有数据提取决定的候选问题。我们用混合方法分析了问题,将预先定义的类别和持续比较方法结合起来,以获得决定类别。我们首先探讨了GitHCD网页,进行了试点存储库的提取,并确定了Budibbbb数据库库库库库库存放的存储库。我们随后做出的主要决定类型。我们决定的排序是CRisal IP6/C 有关决定。