Passing ARM Template output variables to other Arm Resource Group steps

I am a new user evaluating Octopus deploy. I wanted to validate our current plan to make sure it will work
I also have a specific question.

We use Bitbucket and bamboo.
Our current plan is to store our ARM template visual studio project in Bitbucket.
visual studio project will have the templates and parameter files for each environment.
Bamboo will build it and create a nugget package.
It will push the package to Artifactory.
It will ask Octpus deploy to get the package from artifactory
Octopus deploy will execute the template and pass it parameter file for the environment where we are deploying.

Does this approach make sense? Are there any issue we may run into?

We will be provisioning many different resources. These templates will have output parameters.
We want to take output parameter from one step and pass it to next ARM resource group deployment step.

Can you provide a simple example that show how to do this?

There was another forum post where somebody was using a master template, uploading to storage account.
We may go that route as well but wanted to see if we can pass parameters from one step to next.

Thanks

Hi,

Thanks for getting in touch. The process your described is pretty much exactly how we designed Octopus to work with resource group templates. So yes, your approach does make sense! :slight_smile: The following documentation page describes how to do this a bit better. http://docs.octopusdeploy.com/display/OD/Deploy+using+an+Azure+Resource+Group+Template

Accessing output parameters from templates in a previous step is relatively easy. Any outputs from the ARM template step are made available as output-variables automatically. For example, an output Foo would be available as: Octopus.Action[ArmTemplateStepName].Output.AzureRMOutputs[Foo]
This wasn’t documented anywhere so I added it to the documentation page above.

Hope this helps!

Rob