Release, branch, and environment triggers

You can configure when releases should be created, and when those releases should be deployed to environments. The former is configured through release triggers, and the latter through environment triggers - both in a release definition.

Release triggers

aka continuous deployment triggers

If you specify certain types of artifacts in a release definition, you can enable continuous deployment. This instructs Release Management to create new releases automatically when it detects new artifacts are available. At present this option is available only for Team Foundation Build artifacts and Git-based sources such as Team Foundation Git, GitHub, and other Git repositories.

If you have linked multiple Team Foundation Build artifacts to a release definition, you can configure continuous deployment for each of them. In other words, you can choose to have a release created automatically when a new build of any of those artifacts is produced.

Release

You add build branch filters if you want to create the release only when the build is produced by compiling code from certain branches (only applicable when the code is in a TFVC, Git, or GitHub repository) or when the build has certain tags. These can be both include and exclude filters. For example, use features/\* to include all builds under the features branch. You can also include custom variables in a filter value.

Alternatively, you can specify a filter to use the default branch specified in the build definition. This is useful when, for example, the default build branch changes in every development sprint. It means you don't need to update the trigger filter across all release definitions for every change - instead you just change the default branch in the build definition.

    Note that, even though a release is automatically created, it might not be deployed automatically to any environments. The environment triggers govern when and if a release should be deployed to an environment.


Environment triggers

You can choose to have the deployment to each environment triggered automatically when a release is created by a continuous deployment trigger, based on:

A predefined schedule

When you select this option, you can select the days of the week and the time of day that Release Management will automatically create a new release. You can configure multiple schedules as required. Note that, with scheduled triggers, a new release is created even if a newer version of artifact is not available since the last release.

Filters based on the artifacts

You can add one or more filters for each artifact linked to the release definition, and specify if you want to include or exclude particular branches of the code. Deployment will be triggered to this environment only if all the artifact conditions are successfully met.