CI/CD Concepts
Continuous integration, continuous delivery, and deployment pipeline fundamentals.
What is CI/CD?
CI/CD is the practice of automating the building, testing, and deployment of software changes. It removes manual steps from the release process, making deployments faster and more reliable.
| Term | What it means |
|---|---|
| Continuous Integration (CI) | Every code change is automatically built and tested |
| Continuous Delivery (CD) | Every passing build is automatically packaged and ready to deploy |
| Continuous Deployment | Every passing build is automatically deployed to production |
Pipeline stages
- 1Trigger
A git push or PR triggers the pipeline.
- 2Build
Compile the code, build Docker images, resolve dependencies.
- 3Test
Run unit tests, integration tests, linters, security scans.
- 4Package
Create deployable artifacts — Docker images pushed to a registry.
- 5Deploy
Update the running service — rolling update, blue/green, canary.
- 6Verify
Smoke tests, health checks, automatic rollback on failure.
Common tools
| Tool | Type |
|---|---|
| GitHub Actions | CI/CD — native to GitHub, YAML-based |
| GitLab CI/CD | CI/CD — native to GitLab |
| ArgoCD | GitOps — syncs Kubernetes clusters from Git |
| Jenkins | CI/CD — self-hosted, plugin-based |
| CircleCI | Managed CI/CD |
