MadSkeletor
MadSkeletor

Reputation: 171

Azure Devops Pipeline - Variable file based on branch

Is it possible to have different variable template files that would be used based on the branch being built? I was trying to do something like this:

jobs:
- job: BuildandPublish
  variables:
    - template: /env/$(Build.SourceBranchName).vars.yml

But that doesn't work, I'm guessing do to the order that those variables are replaced.

Upvotes: 0

Views: 1050

Answers (1)

Kevin Lu-MSFT
Kevin Lu-MSFT

Reputation: 35194

Is it possible to have different variable template files that would be used based on the branch being built?

From your YAML sample, you are using the format: $(Build.SourceBranchName). The variable value will be expanded at runtime.

But the template will read the variable at Compile time.

To solve this issue, you need to change the format : ${{ variables['Build.SourceBranchName'] }}

Here is an example:

jobs:
- job: BuildandPublish
  variables:
    - template: /env/${{ variables['Build.SourceBranchName'] }}.vars.yml

Upvotes: 1

Related Questions