CI/CD
Why it matters
Without CI/CD, a release depends on one person remembering the steps and the checks, and every release is a small act of hope. An AI agent can change a dozen files in a minute, and an automated pipeline is the only thing that inspects every one of those changes in exactly the same way each time. It also makes releases small and frequent, which makes each one easier to understand and to reverse.
How to apply it
- Run the checks on every push, not on a schedule someone has to remember.
- Block a merge when a check fails, so broken code cannot reach the main branch by accident.
- Keep the pipeline quick enough that a person can see why it failed within a minute or two.
- Deploy automatically once the checks are green, so shipping is a consequence of passing and not a separate decision.
- Keep passwords and API keys out of the code, and store them in the hosting platform's secret settings instead.
What it is
Two ideas sit inside the label. Continuous integration means every change to the code is built and tested automatically the moment it is saved to the shared repository. Continuous delivery means a change that passes those tests is released automatically, or at least made ready to release with one click. The "pipeline" is the fixed sequence of steps in between: install, check, test, build, publish.
Say a marketer builds a pricing calculator with an AI coding agent, keeps the code on GitHub and hosts it on Vercel. Each time the agent pushes a change, a check runs, a preview link appears, and only a passing change reaches the live site. Nobody copies files anywhere.
Common mistakes
- Merging while a check is red because the change looks harmless.
- Writing checks that always pass, which turns a green tick into false comfort.
- Letting a flaky check stay, until everyone learns to ignore the pipeline.