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 know that I could use the Run a Script step template and the Octopus API to do this with proper scoping in each project’s process, but I’m curious whether there is anything built in I could utilize. If not, is this something that Octopus is potentially adding in the future?
Thanks for getting in touch! Octopus does not have the ability to mange this type of task queuing. Currently the only method we have to limiting the amount of concurrent tasks on the Octopus server is the global Task Cap setting. Which does not have the ability to halt your deployments if the currently running task has failed, or apply to only a specific environment.
I do not believe we have any current plans to add this type of feature in the future. I think the best option if you would like to see this feature would be to check out our UserVoice Suggestions page.
We use UserVoice to gauge community support for new ideas and features. You can create a suggestion, or vote and comment on suggestions you like. If a suggestion gathers enough community support, we can look into the possibility of adding such a feature.
I believe the only viable option at the moment would be to script this with the API as you mention.
Let me know if you have any further questions or thoughts here.
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.