The short answer
CI/CD stands for continuous integration and continuous delivery, or deployment. Continuous integration means every code change is merged often and automatically built and tested. Continuous delivery means every change that passes can be released at the push of a button, and continuous deployment goes one step further and releases it automatically. Together they make releases small, frequent and boring, which is exactly what you want.
Key points
- CI: every change is built and tested automatically.
- CD: every passing change is ready to release, or released automatically.
- A pipeline is the series of automated steps a change goes through.
- Small, frequent releases are safer than big, rare ones.
- Even a small team benefits from a basic pipeline from the start.
Continuous integration
Martin Fowler describes continuous integration as a practice where team members integrate their work frequently, with each integration verified by an automated build and tests. The point is to find problems while they are small and fresh, instead of in a painful merge weeks later.
- Developers merge small changes often.
- Every change triggers an automatic build.
- Automated tests run on every change.
- A failing build is fixed first, before new work.
Continuous delivery and deployment
| Continuous delivery | Continuous deployment | |
|---|---|---|
| After tests pass | Ready to release | Released automatically |
| Who releases | A person, with one click | The pipeline |
| Suits | Teams that want a final check | Teams with strong automated tests |
What a pipeline does
- A developer pushes a change to the code repository.
- The pipeline installs dependencies and builds the application.
- It runs tests, linting and security scans.
- It deploys the change to a preview or staging environment.
- After approval, or automatically, it deploys to production.
- Monitoring watches for errors, and a bad release can be rolled back.
Tools such as GitHub Actions run these steps from a file kept in the repository, so the process itself is versioned with the code.
Why it matters to a founder
- Fewer bugs reach customers, because tests run on every change.
- Releases stop being risky events, so they happen more often.
- Every change gets a preview link you can open and check.
- If a release goes wrong, rolling back is quick.
- A new developer inherits a working process, not tribal knowledge.
Teams without automated tests and releases tend to accumulate technical debt, and apps built mostly with AI often lack a pipeline entirely, as noted in Vibe coding to production.
Starting small
A first version does not need an elaborate pipeline. Automatic builds and tests on every change, preview deployments and one-click production releases cover most of the value. In web app development, changes are saved in your GitHub with who made them and why, and you follow the build on a preview link you open yourself.
Sources
Checked when this guide was written.