I have a complex multi tenanted Octopus setup but now I want to deploy a custom App, specific for 1 tenant and not for others. What is the best way to do this according to you?
For example my process:
- Deploy App1 (on all tenants)
- Deploy App2 (on all tenants)
- Deploy Custom App (only for tenant X)
I see multiple options:
- Create a scoped variable (for the tenant target machine) with the value true and check this as a Run Condition > Variable, for the specific step
- Create a Tenant Tag Set, for example Custom Apps and select this as Condition > Tenant for the specific step.
- Create a Tenant Variable (with Project Templates), not exactly sure how to set this up
- Create a complete new Project
- Use target-roles for this. I can create a specific role “Custom App 1” and for every target that has this role, this step will be executed
To be honest, option 1 and 2 feels a bit like a “misuse”, but maybe I am wrong.
One important note: the apps all depend on the same database, so they also have the same version.
Edit: added option 5