International Journal of Innovative Research in Engineering & Multidisciplinary Physical Sciences
E-ISSN: 2349-7300Impact Factor - 9.907

A Widely Indexed Open Access Peer Reviewed Online Scholarly International Journal

Call for Paper Volume 12 Issue 4 July-August 2024 Submit your research for publication

Continuous Integration and Continuous Deployment (CI/CD): Streamlining Software Development and Delivery Processes

Authors: Swamy Prasadarao Velaga

Country: India

Full-text Research PDF File:   View   |   Download


Abstract: Continuous Integration and Continuous Deployment are critical aspects of software development in current times and this paper aims at offering a detailed analysis on the same. Hence, based on the identified key principles and best practices, as well as the empirical studies of CI/CD implementation, its advantages and disadvantages in the context of software engineering are outlined. Continuous integration and continuous development strategies are widely regarded as crucial factors of the software development life cycle process for organizations seeking to optimize the least time-consuming methods of developing software applications. CI/CD is one of the significant changes in the practice of software development since it enhances the workflow, promotes developing in cycles, and focuses on the automation of the build and deployment procedures while valuing feedback and integration processes [1]. For instance, there is a situation where a development team deploys Jenkins, an automation tool, to enhance the CI/CD practice. Jenkins helps the team to sustain the routine activities such as compiling, testing, and deploying the changes done on the code set automatically thereby minimizing the errors that come with manual work, and also enhances the rate of delivery. Continuous integration remains one of the most important practices implemented in the modern development context. It also assists in ensuring that developments undertaken by several developers inter phase with the main system code coherently. Moreover, incorporating such changes several times a day permits the development team to unmerge those alterations and identify merged conflicts. CI also gets extended by incorporating the feature of on-demand preparation of its code for the release [1]. This meant that after each integration, modifications passed through the set of tests and Quality Assurance to the common client. What you achieve is that you have the code prepared for use in operational times and not manually preparing to have a release. But continuous deployment is even one step ahead as a concept in the automation process. Continuous deployment is quite resembling continuous delivery where along with the preparation of the new code, it is deployed in the production environment. This has the implication that there is no other step that is apart from the actual usage of the product by the consumers. This eliminates the process of manual deployment and also minimizes possibilities of making a mistake which are most of the time human made. For example, there is GitLab CI/CD which is designed to work with GitLab repositories and offers a single environment solution for version control and CI/CD. Here, we have detailed how GitLab CI/CD allows teams to create pipelines from scratch, specifying the configuration file in YAML, to support the teams’ needs. An organization can maintain continuous testing approaches like unit testing and integration testing to check the code quality in the developmental life cycle. Most of them may use code analysis instruments, SonarCube and Snyk, to inspect security imperfections in the code. Through these key areas, organizations would be able to identify how CI/CD pipelines can be designed, implemented, and optimized to best suit the organisation’s needs or goals [2].

Keywords: Continuous Integration, Continuous Deployment, CI/CD Pipeline, DevOps, Jenkins, GitLab CI/CD


Paper Id: 1783

Published On: 2021-05-12

Published In: Volume 9, Issue 3, May-June 2021

Cite This: Continuous Integration and Continuous Deployment (CI/CD): Streamlining Software Development and Delivery Processes - Swamy Prasadarao Velaga - IJIRMPS Volume 9, Issue 3, May-June 2021.

Share this