Home > Communication Service Provider Solutions > Enabling Telecom Transformation > Advantages of CI/CD for 5G Open RAN Networks > What is CI/CD?
CI/CD is a set of practices and tools that enable faster, more frequent, and more reliable software delivery. CI/CD automates the key stages of software development, including design, coding, testing, integration, delivery, validation, and deployment (Figure 1). Automation, continuous availability of input to the next stage, and feedback from one stage to previous stages for continuous improvement are what enable the continuous nature of CI/CD.
Continuous Integration (CI) is the software development practice of building, unit testing, and merging working code into to the "main" line. The idea is to always keep the shared line tested and clean. Code changes are tested before integration to achieve this.
Continuous Delivery (CD) involves keeping reliable software ready for release at any time by continuously deploying and testing software, automatically, to one or more testing environments. The idea is to deploy frequently, in shorter cycles, rather than larger deployments involving multiple large features and longer cycles. The same idea extends to the release phase into the customer production environment for implementing the practice of Continuous Deployment, where changes passing through all stages are deployed and released to the Customer, without manual intervention.
All stages involve feedback loops to continuously improve inputs (code quality, tests, and so on) to the next stage. Inputs move to the next stage only by successfully passing the automated tests and validation. Any test failures at any stage of the CI/CD pipeline prevent the change from being merged, delivered, or deployed.