The Environment Provisioning role is responsible for providing environments to tests and activities as needed. Depending on the nature of the software processed by the pipeline and its environment dependencies, such environments may be either very simple, or very complex. Consequently, the Environment Provisioning role may be very simple, or very complex. Many activity execution tools come with built-in environment provisioning through e.g. build slave management, whereas other scenarios require dedicated services.
The primary collaborators of this role are the Activity Execution and Test Case Execution roles, who use it to retrieve the environments in which to execute.