CI stands for Continuous Integration.
CD stands for Continuous Delivery or Continuous Deployment.
CI/CD pipeline is nothing but the set of practices which are followed to automate the build, test and validate the code, so that we can deploy the new requirements quickly.
What is Continuous Integration ?
In CI , developers write, build and test the code on their workstation and push the code onto a centralized repository.
So, whenever a new commit is pushed into the repository a set of event triggered by the CI server.
These events include :
- Run automatic static code quality checks.
- Build the code and then run the automated tests.
- Generate and publish the code coverage reports.
The main goal of CI is to validate all the code changes run automated tests and generate the package artifact that is ready to deploy onto a server.
An example of an artifact can be a container image , WAR/JAR file, etc.
What is Continuous Delivery & Continuous Deployment ?
Continuous Delivery automatically deploys the artifact generated in previous stage to a testing or production environment.
In Continuous delivery you can deploy the build onto the mock test server in order to run some more tests like UI tests, load and integration tests, etc.
After all these are done successfully, you can deploy the changes into the production in just a click.
Continuous Deployment is one step further then the continuous delivery.
Here the code is automatically deployed to the production environment as soon as it passes all the tests. So here there is no manual interaction like continuous delivery.
Some CI/CD tools :
- Github Actions
Thanks for reading this blog.
Keep writing amazing code.
Please follow Dev for such amazing blogs.
Did you find this article valuable?
Support Dev Valecha by becoming a sponsor. Any amount is appreciated!