如何在azure devops模板任务中参数化azureSubscription [英] How to parametrize azureSubscription in azure devops template task

查看:16
本文介绍了如何在azure devops模板任务中参数化azureSubscription的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Azure DevOps模板中的参数。 我可以打印模板内的任何参数。 但是,当我将模板中的参数用于任何需要Azure订阅的任务时,这将使管道始终失败,

"管道无效。作业myDeployment:步骤输入 azureSubscription引用服务连接$(MySubscription) 找不到。"

下面是管道和模板示例。 是否有方法使Azure订阅指向模板?strong text

Pipeline.yml

- stage: myStage
  pool: windows
  variables: 
    - name: azureSubscription
      value: mySubscription
    - name: keyVaultName
      name: myKeyVauld

  jobs: 
    deployment: myDeployment
    strategy: 
      runOnce:
        deploy:
          steps:
          - template: myTemplate.yml
            parameters: 
              subscription: $(azureSubscription) # changing this to literal will work but not what I need
              vault: $(keyVaultName)

myTemplate.yml

parameters:
- name: subscription
  type: string
  default: ''
- name: vault
  type: string
  default: ''

steps:

- task: AzureKeyVault@1
  inputs:
    azureSubscription: '${{ parameters.subscription }}'
    keyVaultName: '${{ parameters.vault }}'
    secretsFilter: myKey

推荐答案

这是一个已知问题/限制。你必须将Azure订阅作为文字传递。不幸的是,据我所知没有办法绕过它。

这个GitHub问题多年来一直是人们讨论的焦点:https://github.com/microsoft/azure-pipelines-agent/issues/1307

这篇关于如何在azure devops模板任务中参数化azureSubscription的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆