Imagine manually doing this every time you release an application:
Pull code Install dependencies Run tests Build application Copy files Configure server Restart application
Enter fullscreen mode
Exit fullscreen mode
It works.
But it's repetitive and error-prone.
CI/CD automates much of this process.
Continuous Integration
Continuous Integration means frequently integrating code changes and automatically validating them.
A pipeline might run:
git push β Install dependencies β Lint β Run tests β Build
Enter fullscreen mode
Exit fullscreen mode
If a test fails, the team gets immediate feedback.
Continuous Delivery
Continuous Delivery focuses on keeping software ready to deploy.
The pipeline may produce a deployment-ready artifact whenever code passes validation.
Continuous Deployment
Continuous Deployment goes further.
A successful pipeline can automatically deploy changes to production.
git push β Tests β Build β Deploy β Production
Enter fullscreen mode
Exit fullscreen mode
Why CI/CDβ¦