CI/CD stands for Continuous Integration and Continuous Delivery.

While developing the software we can not keep a client waiting until the whole software is developed. Instead of that, basically what we can do is develop one feature or module of the software and deliver it to clients to let them know that the development is in progress.

We deliver the software in feature-by-feature mode. But every time creating a small copy of the software and delivering it to the client manually is not a good practice. Ideally, developers only need to focus on development (feature integration) and delivering or deployment part should automatically be done using CICD aka Continuous integration and continuous delivery/deployment.

Continuous Integration (CI) is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration can then be verified by an automated build and automated tests.

It is a process of automating the integration of new code changes into the codebase. This means validating new code as it arrives, usually via Pull Requests.

A successful CI helps with:

Continuous deployment is a strategy for software releases where in any code commit that passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software’s users.

What is CI CD Pipeline?

CI stands for Continuous Integration and CD stands for Continuous Delivery and Continuous Deployment.

Untitled

Phases of CI-CD pipeline-

Version Control- When the developer finishes writing their code, the committed code enters the CI/CD part of the pipeline. They commit it to GitHub repository.

Build phase- The build phase is triggered when new codes are pushed to a repository. This is the second stage of the CI/CD Pipeline in which you merge the source code and its dependencies. It is done mainly to build a runnable instance of software that you can potentially ship to the end-user.

Unit Test- Once the build phase is over, then you move on to the testing phase. The testing phase comprises of multiple types of tests, with the most crucial one being unit testing. Unit testing will test the individual units of the product from its source code.

Deploy Phase- Once the builds have passed the tests, they are moved to the deployment phase then pushed into a test server. This phase allows developers to simulate the product in a production-equivalent environment to examine see the product features.a simulator.