Best way to create a tenant specific step

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:

  1. Deploy App1 (on all tenants)
  2. Deploy App2 (on all tenants)
  3. Deploy Custom App (only for tenant X)

I see multiple options:

  1. 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
  2. Create a Tenant Tag Set, for example Custom Apps and select this as Condition > Tenant for the specific step.
  3. Create a Tenant Variable (with Project Templates), not exactly sure how to set this up
  4. Create a complete new Project
  5. 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

Hi @GerjanOnline,

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. :slight_smile:

Best regards,
Daniel

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:

  1. Deploy App 1
  2. Deploy App 2
  3. Deploy Custom App 1 (for tenant X)
  4. Deploy Custom App 2 (for tenant Y)
  5. 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.