CI/CD
see-eye see-dee
Continuous integration and continuous deployment: automating code testing and delivery to production.
CI/CD (continuous integration/continuous deployment) is the practice of automatically testing and deploying code changes. CI runs automated tests every time code is pushed. CD automatically deploys code that passes all tests to production (or staging).
Continuous integration means every developer's code is tested against the shared codebase multiple times per day. No more "it works on my machine." The CI pipeline catches integration issues, test failures, and build errors before they reach production.
Continuous deployment takes it further: code that passes all automated checks ships to production without manual intervention. Not every team does CD. Many stop at continuous delivery (code is deployable but requires a manual approval to ship). The distinction matters because CD requires much higher confidence in your test suite.
Examples
A developer pushes code to a feature branch.
Within 30 seconds of the push, the CI pipeline starts: it installs dependencies, runs 2,000 unit tests, runs 200 integration tests, checks code formatting, and scans for security vulnerabilities. Four minutes later, the PR shows a green checkmark. All checks passed.
A company implements continuous deployment.
Every merge to main triggers an automatic deployment pipeline: build the container image, deploy to staging, run smoke tests, deploy to 5% of production traffic (canary), monitor for errors for 10 minutes, then roll out to 100%. Engineers ship 15 times per day.
A CI pipeline catches a breaking change.
A developer modifies an API endpoint without updating the client code. The CI pipeline runs integration tests that call the endpoint. Three tests fail because the request format changed. The developer sees the failure before the PR is merged and fixes the client code.
In practice
Read more on the blog
Frequently asked questions
What is the difference between continuous delivery and continuous deployment?
Continuous delivery means code is always in a deployable state and can be released with a manual approval. Continuous deployment means code is automatically deployed to production after passing all checks. Delivery requires a human to press the button. Deployment removes the button entirely.
What tools are used for CI/CD?
GitHub Actions, GitLab CI, CircleCI, Jenkins, and Buildkite are the most common. Most teams also use Docker for consistent build environments and infrastructure-as-code tools like Terraform for deployment configuration.
Related terms
The process of compiling source code into a runnable application or deployable artifact.
The process of releasing code to servers where users can access it.
A pre-production environment that mirrors production for testing before release.
The live environment where real users interact with the application.
An automated test that verifies a small, isolated piece of code behaves correctly.
An automated test that verifies multiple components or services work correctly together.

Want the complete playbook?
Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.