我正在尝试在Azure Devops模板中使用参数。 我可以在模板内打印任何参数。 但是,当我在模板中将参数用于需要执行azure订阅的任何任务时,它将使管道始终因
而失败“管道无效。Job myDeployment:步骤输入 azureSubscription引用服务连接$(mySubscription) 找不到。”
以下管道和模板的示例。 有什么方法可以将“蓝色订阅”路径传递到模板吗?强文本
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
答案 0 :(得分:3)
这是一个已知问题/限制。您必须将Azure订阅作为文字传递。不幸的是,我无法解决它。
在GitHub问题https://github.com/microsoft/azure-pipelines-agent/issues/1307
上,多年来一直是讨论的焦点答案 1 :(得分:-1)
您需要转到项目设置-> 管道部分-> 服务连接,并创建 Service Connection 对于 Azure资源管理器,请在服务主体和托管身份身份验证类型之间进行选择。
在azureSubscription
参数中可以在YAML文件中使用创建的服务连接的名称。