Deploy Without Releasing

Decouple your deployments from your releases by deploying your software to your production environment while disabling/hiding the functionality using feature toggles.  Those new features can then be quickly released (turned on) at any time without any additional deployments or downtime.  This is especially useful when employing Trunk-Based Development (TBD) as some features may depend on others that are not yet fully baked.

Deployment vs. Release

So...  What's the difference between a deployment and a release?  A deployment is the installation of a specific version of software into a specific environment (i.e. Dev, Test, UAT, Prod).  A release is making specific functionality available to end users.

While it is common practice to perform deployments and releases together, they should be decoupled and performed as separate procedures.  Dark Launch is one way to achieve this and Blue Green Deployment is another.