Gated deployments to multiple Azure regions using Cloud Regions

I’d like to make use of the new Cloud Regions functionality.

Whilst it is acceptable for deployments into non-production environments to have steps run in parallel against each region. In preprod and prod I would like to have all steps run against a single region, run smoke tests and then deploy to subsequent regions one at a time.

I’m aware of the Deploy advanced option ‘Deploy to a specific subset of deployment targets’ which might be a workaround.

What is the recommended approach to achieve the above?

Many thanks, Andy

Hi Andy,

Thanks for getting in touch! The best way to look at this is as if each Cloud Region was a machine, each can be put into a different environment. With this, you shouldn’t have to think about deploying to different subset of targets, you will simply have to deploy to the current environment.
If you haven’t already seen it, we have some fantastic documentation on Cloud Regions here that can give you a bit more information: http://docs.octopus.com/display/OD/Cloud+Regions

If I have made an incorrect assumption on what you are after please let me know. :slight_smile:

Regards,
Daniel

Hi Daniel,

Thanks for the reply. I think my inital question could have been clearer. Take for example the following scenerio…

Azure Environments (North and West Europe Cloud Regions added to each environment)

##Non Production##
Dev
Test

##Production##
Preprod
Prod

##Steps##
01 - Deploy Cloud Package
02 - Deploy Database
03 - Smoke Tests

If I understand Cloud Regions correctly…
step ‘01 - Deploy Cloud Package’ will run against both Cloud Regions in parllel;
step ‘02 - Deploy Database’ will do the same; and finally
step ‘03 - Smoke Tests’ will also do the same.

Non Production Flow
01 - Deploy Cloud Package
North and West Europe

02 - Deploy Database
North and West Europe

03 - Smoke Tests
North and West Europe

This is OK for non production environments as we do not need to maintain an SLA. However, for production environment the flow would need to be:

01 - Deploy Cloud Package
North Europe

02 - Deploy Database
North Europe

03 - Smoke Tests
North Europe

…then…

01 - Deploy Cloud Package
West Europe

02 - Deploy Database
West Europe

03 - Smoke Tests
West Europe

Many thanks, Andy

Hi Andy,

Thanks for getting back with more information!

It looks like what you may need here is to use Rolling Deployments We have a fantastic documentation page on how to configure rolling deployments: http://docs.octopusdeploy.com/display/OD/Rolling+deployments

However, if that does not suit your requirements. You could set up two Environments, Production North Europe and Production West Europe, set the lifecycles up to Auto-promote from one to another.
For both of these cases, if you require manual smoke tests, you should add a manual intervention at the end so they don’t auto-promote before you are done testing.

Let me know if that helps, or if I can provide any more information/clarification for this. :slight_smile:

Regards,
Daniel