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.