Manually deploy multiple projects with versions from a chosen environment

(Matt L) #1

I know there are discussions and documentation about coordinating multiple projects (such as [here](https://octopus.com/docs/deployment-process/projects/coordinating-multiple-projects or here). But I haven’t seen anything that specifically addresses our need, which is to be able to manually deploy a coordinated set of projects based on the releases that were deployed in a particular environment. In other words, I want to be able to say “now deploy all projects at the version/release level that you find in ENV1 into ENV2”. But only do that when manually triggered, because the QA team needs to either trigger it or at least be aware when it happens so that they can keep track of when new versions are deployed into the coordinated projects.

This should be scriptable and that may be the only way to do it. But I wanted to see if anyone knew of a way I could do this directly in Octopus, maybe using some combination of the Manual Intervention step and the Deploy a Release step and maybe channels. I just can’t figure out an easy way to have Octopus select the latest version that would then get deployed into a particular environment.

(Ryan Rousseau) #2

Hi Matt,

Thanks for your question.

There’s no functionality in Octopus right now that would let you choose to promote the releases for multiple projects from one environment to another. A coordinator project with a series of Deploy a Release tasks will get you close, but it doesn’t have the ability to automatically choose the version from a specific environment.

Creating a script to call the API to fetch the versions in each environment is the best approach. You can either then trigger the promotions directly in the script or combine that with a coordinator project and use the versions to create a release for it.

Let me know if you have any other questions.

Best,
Ryan