How to: Create and deploy a release

Last Update: 4/7/2017

Team Services | TFS 2017 | TFS 2015 | Previous versions: XAML Build, Release

Also check out the new release definition editor.

You can create a release from the Releases tab, the Builds tab, and as part of a continuous deployment scenario. You can also create a draft release. After you create a release, you may need to deploy (and redeploy) it manually.

Create a release from the Releases tab

  1. In the list of releases for a definition, choose Create Release from the Release drop-down list. Or select the release definition in the left column list of release definitions, open the shortcut menu, and choose Release.

    Creating a new release manually

    Alternatively, open the definition for editing. Then choose Create Release from the Release drop-down list, or open the shortcut menu for a release definition in the left column and choose Release.

    Creating a new release manually

  2. In the Create new release for... dialog, optionally enter a description for this release. Then select the version of the linked build artifacts you want to include in this release. If the version you want to use is not shown in the list, type the version number.

    Specifying details of a release

    For artifact sources of type Build, you must enter the BuildId value, not the BuildNumber. See Artifact variables.

  3. Specify the Automated deployment setting for each environment. The Manual deployments section lists the environments for which users will need to manually initiate deployment.

    Specifying the automated deployment for a release

Specifying manual deployment for an environment is one way to prevent a deployment happening until you are sure it is ready to go. However, you can also use approvals at intermediate stages to pause a release and allow it to be cancelled before it reaches the target or final environment. For more details, see Approvals.

Create a release from the Builds tab

If you have not set the continuous deployment trigger, or you have not defined a fully orchestrated pipeline for deploying the artifacts specified in your releases, you will need to manually initiate the deployment for some environments.

  1. Open the Builds tab of the Build & Release hub and select a build result (not the build definition name).

    Selecting a build in the Builds tab

  2. In the build summary page, choose Release.

    Creating a release from the Builds tab

    Alternatively, if the build has not yet been deployed, choose the Create release link in the Deployments section.

    Creating a release from the Builds tab build status view

  3. In the Create new release dialog select the release definition to use be used with this build (one that is linked to this build definition), and the version of the build artifacts to deploy. Then specify the Automated deployment setting for each environment.

Create a draft release

If you're editing a release definition and you want to test some changes that are not yet ready for production, you can create a draft release.

Creating a draft release

Make the changes you need (they don't affect the original definition), save the draft definition, and start it.

Starting a draft release

Deploy a release

When you create a from a release definition, you can see the current status of that release in the Summary view. In most cases, deployment of the release to all environments may occur automatically through environment deployment triggers. However, where this is not the case (as described in Releases), you must initiate deployment to environments manually.

Start the deployment to any environments that have not been deployed by opening the shortcut menu from the ellipses (...) in the Actions column and choosing Deploy.

Starting a deployment in a release

Alternatively, choose the environment you want to deploy to from the Deploy drop-down list in the toolbar.

Starting a deployment using the Deploy drop-down list

By selecting an environment that is not the final one, you can test the initial steps and tasks in a release safe in the knowledge that it will stop before, for example, deployment to a live production environment. You can also insert a server phase into a release definition, and use it to enable manual intervention in a release pipeline. For more details, see Task phases.

See also


How do I programmatically create a release definition?

Release Management REST API

I use Team Foundation Server on-premises and I don't see some of these features. Why not?

Some of these features are available only on Visual Studio Team Services and not yet available on-premises. Some features are available on-premises if you have upgraded to the latest version of TFS.

Help and support