Azure ARM 模板 : Setting parameter value using a variable

标签 azure azure-pipelines azure-resource-manager

我尝试将环境参数传递给一个模板,然后传递给另一个模板(行 webAppName: 'my-webapp-${{parameters.environment}}')

我收到错误:此上下文中不允许使用模板表达式。难道不能这样做吗?

主管道(为了清晰起见,只是必要的代码)

- 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'
               

master.yml

parameters: 
  environment: ''

  steps:
    - template: webapp.yml
      parameters:
        webAppName: 'my-webapp-${{parameters.environment}}' 
      

然后是webapp.yml

parameters: 
   webAppName: ''

steps: 
- task: AzureRmWebAppDeployment@4
  displayName: 'Deploy my app'
  inputs:
    azureSubscription: '(#some id)'
    WebAppName: ${{parameters.webAppName}}
    packageForLinux: '$(workFolder)/my-package.zip'

最佳答案

我不认为您可以在 ARM 模板参数中使用变量替换。但你可以在变量中这样做。

因此,在 master.yml 中,定义一个变量部分,并将您的 webAppName 组成一个变量。然后将该变量传递到 webapp.yml 中,而不是使用参数。

关于Azure ARM 模板 : Setting parameter value using a variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63031302/

相关文章:

.net - Windows Azure 中的 ASP.net 应用程序部署

c# - 是否可以创建一个可从 EventHub 中的多个事件触发的编排持久函数?

azure-devops - VSTS 按分支查看构建状态

python - azure 管道中的 pip install azure-functions 因 pip 验证任务而失败

azure - 资源组范围内的部署不允许使用位置属性

azure - 如何预先检测Azure ARM脚本是否会更改customData?

azure - 使用Azure管道访问同一项目中的多个azure git存储库

azure - 如果我有自定义 STS,我是否需要联合身份验证?如果是这样,为什么?

azure - 有没有办法创建拉取请求,从 Azure Devops 中的 CD 管道在 RepoA 中从 RepoB 中创建新分支

Azure Bicep\ARM - 获取资源命名的缩短区域名称