Ad-hoc Deployment to Environments outside Lifecycle

Hi All,
I’m looking for recommendations on how to manage depoyments to ad-hoc environments that aren’t part of the lifecycle.
Here’s the situation, our “standard” lifecycle is as you’d expect - dev->test->uat->live
BUT we have separate environments for training and customer demo.
We need to be able to deploy to the training and demo environments regardless of where we are in the SDLC. For example, an early ALPHA release that’s only been deployed to DEV might be needed urgently in the DEMO environment to show an external client, or we might need a release to training while something is still undergoing UAT so that users can see new features. OR if the features are toggled off with a launch date in the future we might not need a release in the training system until AFTER it’s been in live for a while.

Any ideas/suggestions ?
Cheers, Sam

Hi Sam,

Thanks for getting in touch!

The best option would likely be to add an additional optional phase to your lifecycle and reorder the phases so that this optional one comes first. You would then add your demo or other misc environments to this phase and you will have the option of deploying any releases to them at any time.

e.g.

The main caveat with this is that these optional environments will appear before your other ones in the overview which may could confuse the deployment process
e.g.

The other option would be to create a second channel and add your optional environments to that channel. Then if a specific version needs to be deployed to them you’d need to create a new release for that channel using the same packages. The downside of this method is that even you may be using the same package version it would technically be a different release, so there is some possibility of the deployment being slightly different.

I hope this helps.

Regards,
Paul

That’s great @paul.calvert, thanks! I quite like the optional environments in the existing lifecycle. As you say it means that the releases are preserved and have integrity across all environments. I’ll see how I can manage the potential confusion for my teams in terms of the dashboard and have a play around with that.
I’m thinking that since we auto-deploy to DEV on commit/build/test then we should probably insert the optional environments between dev and test. But it’s got me thinking, thanks again!

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.