CI/CD is two consecutive stages, both carried out through automation.
CI: continuous integration#
Every time a programmer pushes a change to Git, an automated system takes the code, builds it and runs the tests. If a test breaks, it reports it right away. The result is that mistakes are found early, while they are still fresh in the author's mind.
CD: continuous delivery or deployment#
After the tests pass, the built version automatically becomes ready for release. In "continuous delivery" the release happens with a human's approval, and in "continuous deployment" even that approval is automatic and every healthy change goes straight to production.
Example#
A team works on a WooCommerce store. With every pull request, the CI tool runs the tests and code quality checks. Once the change is approved and merged, the pipeline releases it first to a test server and then, with one click, to production.
Benefits#
- Less human error in releases
- Fast feedback for programmers
- Frequent, small releases instead of big, risky ones
- Repeatability; the same steps every time
Tools#
Common tools include GitHub Actions, GitLab CI and self-hosted tools such as Jenkins. The principles matter more than the tools: reliable tests, clear steps and the ability to roll back quickly. Without good tests, CI/CD just ships errors faster.