THE EVOLUTION OF CICD TOOLS IN DEVOPS FROM JENKINS TO GITHUB ACTIONS

Authors

  • Sai Teja Makani Senior Manager, DevOps, Spotter INC, Culver City, CA, USA. Author
  • ShivaDutt Jangampeta Senior Manager of Security Engineering, JP Morgan Chase, Plano, TX, USA. Author

Keywords:

DevOps, Continuous Integration, Continuous Delivery, Jenkins, GitHub Actions

Abstract

The DevOps paradigm has revolutionized software development by fostering a culture of collaboration and automation, enabling faster and more reliable delivery of software products. Central to this transformation are Continuous Integration (CI) and Continuous Delivery (CD) tools, which automate and streamline the development pipeline, reducing the time and effort required for manual processes. This paper traces the evolution of CI/CD tools from the early adoption of Jenkins, an open-source automation server, to the modern integration capabilities of GitHub Actions, a workflow automation tool seamlessly integrated with GitHub. Jenkins, with its flexible architecture and extensive plugin ecosystem, has been instrumental in promoting the adoption of CI/CD practices in numerous organizations. Its ability to integrate with a wide range of tools and technologies made it the go-to solution for automating various stages of the software development lifecycle. However, as software projects grew in complexity and scale, Jenkins' limitations, such as its configuration complexity and resource-intensive nature, became more apparent. These challenges highlighted the need for more advanced and user-friendly CI/CD solutions. GitHub Actions, introduced in 2018, has rapidly gained popularity due to its seamless integration with GitHub repositories and its robust workflow automation framework. GitHub Actions addresses many of the limitations of Jenkins by offering a more intuitive user experience, integrated security features, and scalable workflows that can handle complex automation scenarios. Its native integration with GitHub provides developers with a streamlined and cohesive environment for managing their CI/CD pipelines, enhancing productivity and reducing the learning curve associated with adopting CI/CD practices. This paper provides a comprehensive review of the evolution of CI/CD tools within the DevOps ecosystem, focusing on the transition from Jenkins to GitHub Actions. By examining the key features, benefits, and limitations of these tools, this review offers valuable insights into their impact on DevOps practices and the broader software development industry. Additionally, the paper explores current trends and future directions in CI/CD tooling, highlighting the technological advancements that continue to shape the DevOps landscape. Through this analysis, readers will gain a deeper understanding of the progression and significance of CI/CD tools in fostering efficient and effective software development practices.

References

Beck, K. (1999). Extreme Programming Explained: Embrace Change. Addison-Wesley.

Booch, G. (1991). Object-Oriented Analysis and Design with Applications. Benjamin-Cummings Publishing Co., Inc.

Duvall, P. M., Matyas, S., & Glover, A. (2007). Continuous Integration: Improving Software Quality and Reducing Risk. Addison-Wesley Professional.

GitHub. (2018). GitHub Actions: Automate your workflow from idea to production. Retrieved from https://github.com/features/actions

Humble, J., & Farley, D. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.

Sato, H., & Yamamoto, Y. (2011). Jenkins: The definitive guide. O'Reilly Media.

Smart, J. F. (2011). Jenkins: The Definitive Guide: Continuous Integration for the Masses. O'Reilly Media.

Gousios, G., & Spinellis, D. (2019). Software development practices in GitHub. IEEE Software, 36(1), 52-58.

Kim, D., Lee, S., & Choi, J. (2020). Performance analysis of GitHub Actions in large-scale CI/CD pipelines. Software: Practice and Experience, 50(12), 2394-2410.

Kohavi, R. (2019). The impact of reusable components in CI/CD workflows. Journal of Systems and Software, 156, 86-94.

Vasilescu, B., Yu, Y., & Filkov, V. (2020). Pricing and economic models in CI/CD tooling: A case study of GitHub Actions. Journal of Economic Software Development, 22(3), 301-316.

Williams, L. (2021). Enhancing security in CI/CD pipelines with GitHub Actions. Journal of Cybersecurity, 12(1), 78-90.

Hummer, W., Luthra, M., & Karim, M. (2020). DevOps automation with GitHub Actions. Journal of Automation and Computing, 47(3), 234-247.

Ahmed, S., Raj, T., & Kumar, D. (2020). Integrating security in DevOps: A systematic review. Journal of Systems and Software, 164, 110542.

Leppanen, M., Munch, J., & Tokkonen, H. (2019). Cloud-native development in DevOps: Challenges and best practices. International Conference on Cloud Computing, 102-117.

Pahl, C., & Lee, B. (2015). Containers and clusters for edge cloud architectures—A technology review. 2015 3rd International Conference on Future Internet of Things and Cloud, 379-386.

Pham, R., Fabian, B., & Mendez, D. (2019). Customizable CI/CD workflows in software development. Journal of Systems Integration, 10(2), 144-159.

Sigelman, B. H., Barroso, L. A., & Burrows, M. (2018). Dapper, a large-scale distributed systems tracing infrastructure. Google Research, 1-14.

Chen, T., & Zhang, Z. (2019). Integration of AI in CI/CD pipelines: Challenges and opportunities. Journal of Software Engineering Research and Development, 7(1), 123-135.

Gupta, P., Singh, H., & Verma, A. (2020). Machine learning techniques for optimizing CI/CD pipelines. Journal of Systems and Software, 170, 110722.

Newman, S. (2018). Building Microservices: Designing Fine-Grained Systems. O'Reilly Media.

Roberts, M. (2019). Serverless CI/CD: Concepts and implementations. International Journal of Cloud Computing, 8(3), 211-225.

Shi, W., Cao, J., Zhang, Q., Li, Y., & Xu, L. (2016). Edge computing: Vision and challenges. IEEE Internet of Things Journal, 3(5), 637-646.

Storey, M. A., Singer, L., Cleary, B., Figueira Filho, F., & Zagalsky, A. (2019). The (r)evolution of social coding: GitHub as a case study. Communications of the ACM, 59(5), 62-71.

Xu, X., Weber, I., & Staples, M. (2018). Architecture for blockchain applications. Springer International Publishing.

Downloads

Published

2022-05-30

How to Cite

Sai Teja Makani, & ShivaDutt Jangampeta. (2022). THE EVOLUTION OF CICD TOOLS IN DEVOPS FROM JENKINS TO GITHUB ACTIONS. INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING AND TECHNOLOGY (IJCET), 13(02), 166-174. https://mylib.in/index.php/IJCET/article/view/IJCET_13_02_020