我正在尝试将环境参数传递给模板,然后传递给另一个模板(第webAppName: 'my-webapp-${{parameters.environment}}'
行)
我得到错误:A template expression is not allowed in this context
。不可能吗?
- stage: deploy
displayName: 'Deploy Dev Stage'
dependsOn: build
condition: succeeded()
jobs:
- deployment: deploymentjob
displayName: deployment job
environment: dev
variables:
- template: variables/dev.yml
strategy:
runOnce:
deploy:
steps:
- template: templates/pipeline-deploy/master.yml
parameters:
environment: 'dev'
parameters:
environment: ''
steps:
- template: webapp.yml
parameters:
webAppName: 'my-webapp-${{parameters.environment}}'
parameters:
webAppName: ''
steps:
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy my app'
inputs:
azureSubscription: '(#some id)'
WebAppName: ${{parameters.webAppName}}
packageForLinux: '$(workFolder)/my-package.zip'
答案 0 :(得分:1)
我认为您不允许在ARM模板参数中使用变量替换。但是您可以在变量中这样做。
因此,在master.yml中,定义一个变量部分,并将您的webAppName组成一个变量。然后将该变量传递到webapp.yml中,而不使用参数。
答案 1 :(得分:0)
问题是我的一个YAML文件出现缩进,这是不正确的。添加一个额外的标签即可解决该问题。