Make deployments synchronous for a specific environment
I help manage deployments for a software team that is working on moving from bi-weekly releases to continuous delivery. In order to transition smoothly, we have decided to have four environments in our pipeline: Dev > Alpha > Beta > Production. This allows us to continuously deliver internally from Dev (automatically deployed to from build server) to Alpha (snapshot of all projects promoted to Beta bi-weekly for staging).
What I would like to have the ability to do is make all deployments to Dev synchronous in that they wait if there is a current deployment to Dev and stay pending if that deployment fails. I do not want this to happen on any other environments.
I will be using the Run a Script step template and the Octopus API to do this with proper scoping in each project’s process in the meantime, but a built in feature would save a lot of maintenance. I would also expect that this is a common requirement for continuous delivery in order to accurately freeze your pipeline.