Controlling concurrent deployments (OctopusBypassDeploymentMutex)

I’ve been experimenting with different strategies to increase deployment throughput during our production releases. We’ve started to phase in the ’ OctopusBypassDeploymentMutex’ but ran into issue where too many concurrent deployments were happening and the software platforms being targeted weren’t happy about it. Is there a mechanism to limit the number of concurrent deployments to a single target (from different projects)?

Thanks.

Hi Shannon,

Thanks for getting in touch, and great question! Unfortunately there’s no out-of-the-box solution to limit the number of concurrent deployments to a target. When considering your question, one idea came to mind, but admittedly it’s both a bit “hacky”, and dependent on your scenario. That potential approach involves using the ConcurrencyTag variable in each project with values defined in such a way to give you a little control. E.g. two deployments deployed simultaneously, with the same concurrency value, will run sequentially. This is detailed quite nicely in the following forum post by my colleague.

However it may be worth taking a bit of a step back to try to understand your scenario and issue a bit better. I imagine a couple other concepts that may potentially help, depending on your situation. For example, staging package uploads or blue-green deployments may possibly be something worth considering. We’ll be happy to give some more thought to more ideas if you could elaborate further on the issue and situation.

I hope this is at least a little helpful for the time being, and please let us know what you think.

Best regards,

Kenny

Thanks Kenny. This post is extremely helpful.

2 Likes