Continuous delivery

Also called: CD

Last updated:

Continuous delivery (CD) is the practice of building, testing, and packaging every change so that it could go to production at any moment, with the path there automated. The pipeline runs on each commit. A person still decides when to ship, and continuous deployment removes even that step by pushing every passing build straight out. Both stop at the point where code lands in production, which is where progressive delivery takes over and starts managing exposure.

Why continuous delivery needs feature flags

A pipeline that ships on every commit has to cope with work that is only half done. Feature flags handle this by splitting apart the two things a release does at once. The merge and the deploy happen whenever the pipeline says so. Turning the feature on is a separate decision you make later, by hand, once the work is actually finished. Unfinished work sits in production behind a flag held off, which is a dark launch, so the trunk stays green and deployable and nobody has to hold a branch back to keep it that way. That is also the mechanism that makes trunk-based development workable at speed.

Delivery, deployment, and release

The three words get used interchangeably and mean different things. Delivery means the change is proven and ready to go, and deployment puts that binary onto production machines. Release is the moment a user can see it. Continuous delivery automates the first two, and a feature flag is what lets you hold the third back, so a deployment carries no user-visible risk and a release needs no deploy. Flag state is held per environment, which means the same build can run everywhere while the flag stays on in staging and off in production. The environments guide covers how that state is kept separate.

Want the full picture? Read the concept guide: Environments →

Try it in your own app

Free Solo plan covers 10 flags and 2 environments. No credit card, no demo call — sign up and ship.