Advise for fully automatic release trains

usability
external
(GerjanOnline) #1

We have a SAAS product and the deployment of it is now completely automated via Octopus (works great!).

However, the same product can also run at Enterprise clients and they have an option to run On Premises.

Because these enterprise clients are more picky and have higher risks, I want to deploy a more stable/mature version.

So my goal is:
Deploy stable version on SAAS, say v30 (today)
Deploy stable version on Enterprise, v30, but 2 weeks later

The problem is that SAAS have a much higher cadence. Currently, the SAAS are updated every week. And I want to update the enterprise every month, but with a more battle tested / mature version.

So the release history would been:
02-12: v30 on SAAS
09-12: v31 on SAAS
16-12: v32 on SAAS
23-12: v33 on SAAS
23-12: v31(!) on Enterprise

Yes I know I can use channels, but I cannot figure out how to schedule that exact same version from 2 weeks ago for the enterprise.

I want it fully automated.

(Paul Calvert) #3

Hi @GerjanOnline,

Thanks for getting in touch!

I’ve spent some time thinking about your scenario, and I can’t think of any way to achieve this using Octopus alone.

The only solution that is coming to mind would be to run a second ‘Enterprise’ branch of your code that remains behind your developing branch. You could then schedule builds of that to run on a monthly basis, target those builds at a separate channel within Octopus and let the automated process take it from there.

I hope this is helpful, let me know if you have any further questions.

Best regards,
Paul