Streamlining Software Development: An Approach to CI/CD Pipeline Automation

Authors

  • Prasanna Padhye
  • Amar Khawale
  • Prof. Dr. Gufran Ahmed Ansari

Keywords:

Continuous Integration, Continuous Deployment, CI/CD Pipeline, Automation, Configuration Management, Dynamic Infrastructure Provisioning, Dependency Management, Software Development

Abstract

Continuous Integration or Continuous Deployment pipelines have become a widely adopted practice in modern software development, allowing teams to achieve faster and more reliable software releases. However, many existing CI/CD pipelines require significant manual configuration and maintenance, resulting in overhead and potential bottlenecks in the development workflow. In this paper, we are presenting a framework approach of CI/CD pipeline automation that leverages advanced automation techniques. Our approach utilizes a combination of declarative configuration management, dynamic infrastructure provisioning, and intelligent dependency management to streamline the software development process, reduce manual overhead, and enhance overall pipeline efficiency. We present a framework implementation and evaluate its effectiveness in a real-world software development environment, demonstrating significant improvements in build and deployment times, reduced pipeline failures, and increased development productivity. Our findings highlight the potential of our unique approach in optimizing CI/CD pipelines and improving software delivery practices in lesser time and lesser failures.

Downloads

Download data is not yet available.

References

Fowler, M. (2006). Continuous Integration. Martin Fowler Website. https://martinfowler.com/articles/continuousIntegration.html

Kim, G., Debois, P., Willis, J., & Humble, J. (2016). The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution Press.

HashiCorp. (n.d.). Terraform - Infrastructure as Code. https://www.terraform.io/

Node.js. (n.d.). npm - A package manager for JavaScript. https://www.npmjs.com/

Apache Maven. (n.d.). Apache Maven – Welcome to Apache Maven. https://maven.apache.org/

Salloum, S., Alswailem, O., & Keceli, F. (2019). CI/CD Pipelines in Software Development: A Systematic Mapping Study. Journal of Systems and Software, 149, 463-479.

Choudhary, S. R., & Anwar, F. (2020). A Review of Continuous Integration and Continuous Deployment Techniques in Software Engineering. International Journal of Advanced Computer Science and Applications, 11(7), 182-188.

Hassan, S., Garcia, J., & Zhang, K. (2018). An Empirical Study of Travis CI with GitHub Pull Requests. Empirical Software Engineering, 23(2), 1070-1104.

Chen, L., Ma, J., Zheng, Q., & Chen, T. (2017). An Empirical Study on the Influence of Continuous Integration Practices on Software Development. IEEE Access, 5, 6910-6922.

Fehrer, T., Herbst, N. R., & Schelter, S. (2016). Towards Lean Automated Performance Diagnosis of Continuous Deployment Pipelines. In Proceedings of the 25th International Symposium on High-Performance Parallel and Distributed Computing (pp. 345-356). ACM.

Figure 1:

https://www.google.com/url?sa=i&url=https%3A%2F%2Fnulab.com%2Flearn%2Fsoftware-development%2Fdevops-lifecycle-quick-easy-walkthrough%2F&psig=AOvVaw3-VoOO9LGr3Q071iGwq8yP&ust=1681470268861000&source=images&cd=vfe&ved=0CBEQjRxqFwoTCNDjuYH%20bpv4CFQAAAAAdAAAAABAE

Figure 2:

https://www.google.com/search?q=ci+cd+architecture+diagram&rlz=1C1VDKB_enIN927IN927&sxsrf=APwXEdd6YaLltwHHNt2FcET04x0Nz7FIjA:1681383780360&source=lnms&tbm=isch&sa=X&ved=2ahUKEwjKtXX2qbAhUucGwGHV_sDf0Q_AUoAXoECAEQAw&biw=1536&bih=664&dpr=1.25#imgrc=EWYITHxz-%20FycBM

Additional Files

Published

30-05-2023

How to Cite

Prasanna Padhye, Amar Khawale, & Prof. Dr. Gufran Ahmed Ansari. (2023). Streamlining Software Development: An Approach to CI/CD Pipeline Automation. Vidhyayana - An International Multidisciplinary Peer-Reviewed E-Journal - ISSN 2454-8596, 8(si7), 505–519. Retrieved from http://j.vidhyayanaejournal.org/index.php/journal/article/view/839