This guide introduces a pattern for deploying the same application per tenant to the same machine target, either a Tentacle or SSH connection. A common issue with this pattern is that the Deployment Mutex can cause deployment tasks to spend a lot of time checking and waiting for the mutex to be released. This can lead to an inefficient use of the task queue, especially as the number of tenants sharing the target grows.
In this guide, we will use a tenant tag set to represent the hosting groups and connect the tenants to the shared infrastructure. The tag set will also be used to set the
Octopus.Task.ConcurrencyTag system variable to limit the number of tasks that can be processed concurrently per hosting group. We’re essentially building a rolling deployment over our tenants.
The following sections make up the guide:
- Creating the tenant tag set
- Assign tags to tenants
- Assign tags to targets
- Deploying before setting the concurrency tag
- Setting the concurrency tag
- Deploying after setting the concurrency tag
Help us continuously improve
Please let us know if you have any feedback about this page.
Page updated on Monday, August 21, 2023