We have Azure DevOps Server 2019 on-prem. That means no unified pipelines, no YAML for release pipeline.
The scenario is this:
A stage runs terraform code to provision some resources in Azure. It is necessary to insert manual approval between terraform plan
and terraform apply
, however, the plan file produced by terraform plan
stage must be shared with the terraform apply
stage.
I can see these options:
- Save the plan file on a shared file system
- Save the plan file in a dedicated storage on Azure
- Save the plan file somewhere within the Azure DevOps so that stages can access it without defining a dedicated file share or Azure storage
- Pass the contents of the plan file as an output variable
I, personally, like the most the last option, but I wonder what are the limitations on the output variable value length? What is the maximum length of a variable in Azure Pipelines? suggests it is around 32KB, which may not be good enough. Given that, is there an option to pass files between stages?