Chronicles of CI/CD: A Deep Dive into its Usage Over Time (2402.17588v1)
Abstract: DevOps is a combination of methodologies and tools that improves the software development, build, deployment, and monitoring processes by shortening its lifecycle and improving software quality. Part of this process is CI/CD, which embodies mostly the first parts, right up to the deployment. Despite the many benefits of DevOps and CI/CD, it still presents many challenges promoted by the tremendous proliferation of different tools, languages, and syntaxes, which makes the field quite challenging to learn and keep up to date. Software repositories contain data regarding various software practices, tools, and uses. This data can help gather multiple insights that inform technical and academic decision-making. GitHub is currently the most popular software hosting platform and provides a search API that lets users query its repositories. Our goal with this paper is to gain insights into the technologies developers use for CI/CD by analyzing GitHub repositories. Using a list of the state-of-the-art CI/CD technologies, we use the GitHub search API to find repositories using each of these technologies. We also use the API to extract various insights regarding those repositories. We then organize and analyze the data collected. From our analysis, we provide an overview of the use of CI/CD technologies in our days, but also what happened in the last 12 years. We also show developers use several technologies simultaneously in the same project and that the change between technologies is quite common. From these insights, we find several research paths, from how to support the use of multiple technologies, both in terms of techniques, but also in terms of human-computer interaction, to aiding developers in evolving their CI/CD pipelines, again considering the various dimensions of the problem.
- Anonymous. 2023a. https://anonymous.4open.science/r/DevOps-Repositories-122E
- Anonymous. 2023b. https://anonymous.4open.science/r/github-devops-mining-C0D7
- Anonymous Author. 2023a. CI/CD repos with tools. https://doi.org/10.6084/m9.figshare.24578740.v2
- Anonymous Author. 2023b. CI/CD repositories from GitHub. https://doi.org/10.6084/m9.figshare.24578746.v1
- Anonymous Author. 2023c. CI/CD repositories with tool history. https://doi.org/10.6084/m9.figshare.24578752.v1
- Puppet by Perforce. 2023. https://www.puppet.com/resources/history-of-devops-reports accessed: 16/11/2023.
- A Preliminary Investigation of MLOps Practices in GitHub. In Proceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (Helsinki, Finland) (ESEM ’22). Association for Computing Machinery, New York, NY, USA, 283–288. https://doi.org/10.1145/3544902.3546636
- The Business Research Company. 2022. Information Technology Global Market Report 2022, By Type, Organization Size, End User Industry. https://www.researchandmarkets.com/reports/5561700/information-technology-global-market-report-2022
- On the rise and fall of CI services in GitHub. In 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) (Honolulu, HI, USA, 2022-03). IEEE, New York, New York, United States, 662–672. https://doi.org/10.1109/SANER53432.2022.00084
- Challenges in Docker Development: A Large-Scale Study Using Stack Overflow. In Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (Bari, Italy) (ESEM ’20). Association for Computing Machinery, New York, NY, USA, Article 7, 11 pages. https://doi.org/10.1145/3382494.3410693
- Learning from, Understanding, and Supporting DevOps Artifacts for Docker. In 2020 IEEE/ACM 42nd International Conference on Software Engineering (ICSE). Association for Computing Machinery, New York, NY, United States, 38–49. https://doi.org/10.1145/3377811.3380406
- IEEE. 2023. https://spectrum.ieee.org/the-top-programming-languages-2023 accessed: 17/11/2023.
- The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press, Portland, Oregon, United States. https://books.google.pt/books?id=ui8hDgAAQBAJ
- Assessing the Maturity of DevOps Practices in Software Industry: An Empirical Study of HELENA2 Dataset. In Proceedings of the 26th International Conference on Evaluation and Assessment in Software Engineering (Gothenburg, Sweden) (EASE ’22). Association for Computing Machinery, New York, NY, USA, 428–432. https://doi.org/10.1145/3530019.3531335
- GitHub Staff Kyle Daigle. 2023. Octoverse: The State of Open Source and rise of AI in 2023. https://github.blog/2023-11-08-the-state-of-open-source-and-ai/
- A First Look at CI/CD Adoptions in Open-Source Android Apps. In Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering (Rochester, MI, USA) (ASE ’22). Association for Computing Machinery, New York, NY, USA, Article 201, 6 pages. https://doi.org/10.1145/3551349.3561341
- On the usage, co-usage and migration of CI/CD tools: A qualitative analysis. Empirical Software Engineering 28, 2 (2023), 52. https://doi.org/10.1007/s10664-022-10285-5
- Case Study. 2023. Cloud native computing foundation. https://www.cncf.io/
- An Empirical Study of Build Failures in the Docker Context. In Proceedings of the 17th International Conference on Mining Software Repositories (Seoul, Republic of Korea) (MSR ’20). Association for Computing Machinery, New York, NY, USA, 76–80. https://doi.org/10.1145/3379597.3387483
- Tianyin Xu and Darko Marinov. 2018. Mining Container Image Repositories for Software Configuration and Beyond. In Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results (Gothenburg, Sweden) (ICSE-NIER ’18). Association for Computing Machinery, New York, NY, USA, 49–52. https://doi.org/10.1145/3183399.3183403
- Mining Questions Asked about Continuous Software Engineering: A Case Study of Stack Overflow. In Proceedings of the Evaluation and Assessment in Software Engineering (Trondheim, Norway) (EASE ’20). Association for Computing Machinery, New York, NY, USA, 41–50. https://doi.org/10.1145/3383219.3383224