Continuous Delivery
Continuous delivery ensures code is always in a deployable state after passing through the automated pipeline — built, tested, and ready to release at any time — though the actual release to production still requires a manual trigger, distinguishing it from continuous deployment, which releases automatically.
The manual gate in continuous delivery is usually a deliberate business decision, not a technical limitation — a team might have full confidence in their automated tests but still want a human to choose exactly when a release goes live, for reasons like coordinating with support staff or avoiding a Friday afternoon deploy.
Achieving genuine continuous delivery requires the entire pipeline — build, test, and packaging — to be fully automated and trustworthy enough that "ready to deploy" actually means ready, not "probably fine, someone should double-check manually first," which defeats much of the practice's purpose.