Use of tenant vs channels vs something else

Hello. Relatively new user of Octopus here and am trying to figure out how to get it to work for us as we’d like it to. This is the scenario I’m dealing with here.

We’ve got several projects that we are using Octopus to deploy. They can, depending on the project, either need to hit some of our environments or all of our environments. Here are the names of the environments we have:

What we want to do is something along the following likes:
We publish to Development which then sets up our ‘dev’ environment. From here, once ready to test, we then push ‘Development’ to ‘Test’ manually.

Once we are ready to put the code we want into production, we would like to take the Test environment and put it into one of our different ‘released’ environments - any of the five listed after ‘Test’ above.

Ideally, we’d like to have a setup that looks something like this:
Devlopment -> Test Tenant name: Dev to Test
Test -> CustomerA Tenant name: Test to CustomerA
Test -> CustomerB Tenant name: Test to CustomerB
Test -> ProdCopyCustA Tenant name: Test to ProdCopyCustA
Test -> ProdCopyCustB Tenant name: Test to ProdCopyCustB
Test -> Demo Tenant name: Test to Demo

This way, we can go right from test to any of our different environments.

The default lifecycle (order of the environments in the system) looks like this:
Dev -> Test -> CustomerA -> CustomerB -> ProdCopyCustA -> ProdCopyCustB -> Demo

Currently we are using untenanted environments. What I don’t know is what I want to do to get us where I want in the ‘ideal’ configuration above. Do I want to use tenants? Channels? Both? Something completely different?

If anyone has any suggestions as to how I can do this, where I can find a video or blog post detailing what I want to do, etc. I would appreciate the direction. If any other details or clarification are needed, I’ll happily provide that as well.

Thank you in advance,

Hi Charles,

Thank you for your question!

The scenario you describe looks like it would be perfect for using multi-tenancy. I understand your question about whether you should use channels and/or tenants though, it’s not an uncommon query. Ryan has written an article that should help clear things up for you: When should I use tenants over channels?

This may also help clarify how to move to multi-tenancy: Multi-Tenancy Environments and Tenant Tags - that has some links to a webinar and documentation to give you some more detail!

If you have any further queries, please get back in touch!