Controlling concurrency of multi-step deployment job

I am evaluating buildkite as an alternative to our current continuous delivery system. It looks really good, however, I am struggling with the concurrency system.

We have a multi-step deployment pipeline that will be triggered when our test pipeline completes successfully. Deployment to certain environments can happen at the same time but the deployment to production can only happen after all the lower environments have deployed successfully. This is all fine and I have it working with key and depends_on. However, we would like there to be only one run of the whole deployment pipeline running at any one time. I can’t figure out how to achieve this with concurrency and concurrency_group as these only act on a step level.

Is there an accepted way to achieve this kind of concurrency control?

I notice that this has been asked in the features channel already but there has been no response.

Hi @robyoung, thanks for noting that thread hasn’t had some love. We’re getting the hang of keeping in the loop of the forum, but we weren’t as good at it when that started and it slipped through the cracks.

I’ve added a reply there, and I hope it helps! I believe it would for your use case, but please let us know if it doesn’t or if you need more clarification!

That is fantastic, thanks jess!