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
Thanks for getting in touch! Option 2 you have provided is the method I would suggest here.
Create a Tenant Tag Set, for example Custom Apps and select this as Condition > Tenant for the specific step.
This is essentially how we designed Tenant Tags to be used, for grouping your Tenants to be deployed to individually or as a group.
If you encounter any roadblocks while setting this up, or have any further questions, please let me know.
Edit: I have updated my start post, I forgot target roles. Is that an valid option as well?
Okay, interesting. Thanks for your answer.
I thought that Tenant Tags Sets were more designed for “bundling” tenants (& targets). I use it that way: for example I have a set “Subscription” which has “Small, Medium, Large, Enterprise”. This way I can update all Enterprise customers (tenants) if I want to.
But you are saying, it is also designed to support scenario’s like I described: deploy Custom Apps (for 1 tenant only). The downside is that I get the following:
- Deploy App 1
- Deploy App 2
- Deploy Custom App 1 (for tenant X)
- Deploy Custom App 2 (for tenant Y)
- Deploy Custom App 3 (for tenant Z).
So my Process will become a lot more complicated because of these tenant specific custom apps. But I don’t know how to solve it in another way (yes, separate projects, but that’s more overhead).
Conclusion: it is perfectly fine to use Tenant Tags Sets for Custom Apps?
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.