A distribution is a deployment of a release. In a distribution, the release manager specifies which workflow will control the release process and which of the release's packages will be included.

For example, a software company has a product update release scheduled five months from now. As a part of their release process, they need to update their testing, production, and training instances of the product. The processes required for delivering the product to these environments differs in the following ways:

  • Not all the packages in the release need to be applied to each instance. For example, the training instance requires custom code to establish additional product security, which is not required in the production instance.

  • There is a different review process for each instance. For example, the testing instance does not require the department head sign-off for each iteration of the release.

The software company creates a distribution for each of these release instances. For each distribution, the release manager defines which:

  • Packages are included in the specific release instance.

  • Workflow the release follows.