Multi-tenant Life-cycle Dependencies

I’m having some problems finding ways to ensure our multi-tenant setup follows the right lifecycle within each tenant. Here is how we currently set it up:

Lifecycle:
Dev-> Test -> Staging -> Production

We have a single environment for Dev and Test for all tenants, and 2 different environments for Staging and Production. All deployments has to be completed before moving on to the next, e.g. Staging must be deployed before proceeding to Production.

I setup 2 tenants - TenantA and TenantB.
TenantA deploys to Dev, Test, Staging, Production environment
TenantB deploys to Staging and Production environment.

Everything works in order until I deployed the first release to Staging environment (doesn’t matter on Tenant A or TenantB).

If I deploy version 1.0.1 to Staging environment on Tenant A, I am allowed to deploy to Production environment on Tenant B.
If I deploy version 1.0.1 to Staging environment on Tenant B, I am allowed to deploy to Production environment on Tenant A.

What I am seeking is to control the deployment on each Tenant, before the lower environment has even been released. e.g.
If I deploy version 1.0.2 to Staging on Tenant A, I can only deploy to Production on Tenant A. I will only be allowed to deploy to Production on Tenant B after I deploy version 1.0.2 to Tenant B.

Is there a way to do this.

Just to clarify,

If I deploy version 1.0.1 to Staging environment on Tenant A, I am allowed to deploy 1.0.1 to Production environment on Tenant A and Tenant B.
If I deploy version 1.0.1 to Staging environment on Tenant B, I am allowed to deploy 1.0.1 to Production environment on Tenant A and Tenant B.

What I am seeking is to control the deployment on each Tenant, before the lower environment has even been released. e.g.
If I deploy version 1.0.2 to Staging on Tenant A, I can only deploy 1.0.2 to Production on Tenant A. I will only be allowed to deploy 1.0.2 to Production on Tenant B after I deploy version 1.0.2 to Staging on Tenant B.

Hi!

Thanks for getting in touch. This is how tenanted lifecycles are supposed to work out of the box. We describe the intention of how we designed tenants and lifecycles to work together here, which sounds like what you are wanting: http://docs.octopusdeploy.com/display/OD/Designing+a+multi-tenant+upgrade+process

I think you may have run into this bug: https://github.com/OctopusDeploy/Issues/issues/2792

We shipped the fix for that today as part of Octopus 3.4.13.

Either way I’m really sorry you’ve run into a problem with tenant lifecycles. If the patch doesn’t sort out the promotion issues please get back in touch and I’ll do what I can to help.

Hope that helps!
Mike

Hi Mike,

thanks for the update and the link, and you are right, we were facing the bug #2792 that you mentioned. My apologies for not noticing that as an existing issue.

I have installed 3.4.13, and verify that it fixes that issue.

Thanks for your help!

Hi,

Thanks for getting back to me! I’m glad that worked - and no need to apologise, we’re the ones who caused the regression in behaviour. :slight_smile:

Happy Deployments!
Mike