У меня создано два шаблона - один для получения и настройки некоторых конфигураций, таких как имена регионов, и один для развертывания. Я пытаюсь использовать переменные, заданные в задаче шаблона конфигурации, в качестве входных параметров для шаблона развертывания. Есть ли реальный способ сделать это?
Мой шаблон конфигурации:
steps:
- task: AzureCLI@2
name: Config
displayName: Get Config and Generate Variables
inputs:
azureSubscription: '$(Subscription)'
scriptType: bash
scriptLocation: inlineScript
inlineScript: |
Environment="prod"
echo "##vso[task.setvariable variable=Environment;isOutput=true]prod"
echo "##vso[task.setvariable variable=EastName;isOutput=true]$(AppNamePrefix)-$Environment-eastus"
echo "##vso[task.setvariable variable=East2Name;isOutput=true]$(AppNamePrefix)-$Environment-eastus2"
echo "##vso[task.setvariable variable=CentralName;isOutput=true]$(AppNamePrefix)-$Environment-centralus"
echo "##vso[task.setvariable variable=WestName;isOutput=true]$(AppNamePrefix)-$Environment-westus"
и мой шаблон развертывания выглядит так:
parameters:
- name: artifactName
type: string
default: MyBuildOutputs
- name: appFullName
type: string
- name: condition
type: boolean
default: true
steps:
- task: AzureFunctionApp@1
condition: ${{ parameters.condition }}
displayName: 'Production deploy'
inputs:
azureSubscription: '$(Subscription)'
appType: 'functionApp'
appName: ${{ parameters.appFullName }}
package: '$(System.ArtifactsDirectory)/${{ parameters.artifactName }}/$(Build.BuildId).zip'
deploymentMethod: 'auto'
и мой этап для этого выглядит так (с вырезом ненужных битов):
- template: ../../tasks/azure/getConfig.yml
- template: ../../tasks/azure/deployToFA.yml
parameters:
appFullName: $(EastName)
Я попробовал следующее для appFullName: <name>
:
$(EastName)
${{ EastName }}
$[ EastName ]
$EastName
но, к сожалению, ни один из них, кажется, не работает, поскольку все они втянуты как литералы. Есть ли способ сделать это? Я видел способы использования dependsOn
, но мне не нужна скрытая зависимость между двумя шаблонами (если это вообще возможно)