CI/CD
Continuous Integration and Continuous Deployment — the practice of automatically building, testing, and deploying code changes.
CI/CD pipelines automate the process of testing and deploying code, enabling teams to ship software reliably and frequently. Tools include GitHub Actions, CircleCI, Jenkins, and GitLab CI. CI/CD knowledge is expected at virtually all engineering roles and is the foundational practice separating mature software organizations from ad-hoc deployment processes.
Typical time to job-readiness: ~3 weeks.
Learning CI/CD
Beginner
Set up a GitHub Actions workflow that runs tests on every pull request. Understand the trigger → build → test → notify flow before adding deployment stages.
Intermediate
Multi-stage deployment pipelines (staging → production), secrets management, automated rollbacks, and Docker integration for build consistency.
Advanced
Trunk-based development workflows, canary and blue-green deployments, pipeline performance optimization at scale. CI/CD design is a standard DevOps interview question.
Key concepts
- Continuous Integration — every commit triggers automated build and test, catching issues fast
- Continuous Delivery vs Deployment — delivery requires manual approval, deployment is fully automated
- Pipeline stages: lint → build → test → deploy, with gates between stages
- Artifacts — built binaries or Docker images passed between pipeline stages
- Secrets management — inject credentials at runtime, never store in code or pipeline config
- Rollback strategy — how to revert a bad deployment quickly and safely
Common interview topics
- What is the difference between Continuous Integration, Delivery, and Deployment
- Walk me through a CI/CD pipeline you've designed or worked with
- How would you implement a blue-green deployment
- How do you handle secrets in a CI/CD pipeline
- What happens when a test fails in your pipeline — how do you prevent bad code from reaching production