Release approvals and gates overview

VSTS | TFS 2018 | TFS 2017 | TFS 2015

A release definition specifies the end-to-end release process for an app to be deployed across a range of environments. Deployments to each environment are fully automated by using phases and tasks.

Approvals and gates give you additional control over the start and completion of the deployment process. Each environment in a release definition can be configured with pre-deployment and post-deployment conditions that can include waiting for users to manually approve or reject deployments, and checking with other automated systems until specific conditions are verified. In addition, you can configure a manual intervention to pause the deployment process and prompt users to carry out manual tasks, then resume or reject the deployment.

At present, gates are available only in Visual Studio Team Services.

The following diagram shows how these features are combined in an environment of a release definition.

Schematic view of approvals and gates in an environment

By using approvals, gates, and manual intervention you can take full control of your releases to meet a wide range of deployment requirements. Typical scenarios where approvals, gates, and manual intervention are useful include the following.

Scenario Feature(s) to use
Some users must manually validate the change request and approve the deployment to an environment. Pre-deployment approvals
Some users must manually sign off the app after deployment before the release is promoted to other environments. Post-deployment approvals
You want to ensure there are no active issues in the work item or problem management system before deploying a build to an environment. Pre-deployment gates
You want to ensure there are no incidents from the monitoring or incident management system for the app after it's been deployed, before promoting the release. Post-deployment gates
After deployment you want to wait for a specified time before prompting some users for a manual sign-off. Post-deployment gates and post-deployment approvals
During the deployment process a user must manually follow specific instructions and then resume the deployment. Manual Intervention
During the deployment process you want to prompt the user to enter a value for a parameter used by the deployment tasks, or allow the user to edit the details of this release. Manual Intervention
During the deployment process you want to wait for monitoring or information portals to detect any active incidents, before continuing with other deployment phases. Planned

You can, of course, combine all three techniques within a release definition to fully achieve your own process and deployment requirements.

See also

Help and support