Параметризация azureSubscription из группы переменных в конвейере yaml - PullRequest
1 голос
/ 13 июля 2020

Я использую Yaml для Azure DevOps pipeline. Я использую для этого иерархический стиль.

У меня есть один yaml верхнего уровня: feature.yaml, который имеет следующую структуру:

trigger:
...
pool:
  vmImage: ...
  
variables:
  group: ...

stages:
  - template: deploy.yaml
    parameters:
      subName: $(subscription) #This should be taken from Variable group

У меня deploy.yaml как:

stages:
    - stage: deploy
      jobs:
        - job: deploy
          steps:
          - task: AzureKeyVault@1
            inputs:
              azureSubscription: $(paramaters.subName) #This should be resolved from parameter passed form feature.yaml
              KeyVaultName: ...
              SecretsFilter: '*'
              RunAsPreJob: true

Однако всякий раз, когда я запускаю это из Azure DevOps, я получаю следующую ошибку:

There was a resource authorization issue: "The pipeline is not valid. Job deploy: Step AzureKeyVault input ConnectedServiceName references service connection $(paramaters.subName) which could not be found. The service connection does not exist or has not been authorized for use. For authorization details, refer to https://aka.ms/yamlauthz."

Кажется, конвейер не может разрешить значение имени azureSubscription из группы переменных .

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

для тех, кто ищет разрешение,

Вот что вам нужно сделать: В файле Top-level feature.yaml добавьте желаемое имя группы переменных и передайте параметр из шаблона, который имеет azure имя подписки:

variables:
  - group: xxx

  - template: deploy.yaml
    parameters:
      subName: $(_subscriptionName)

И используйте этот параметр в шаблоне deploy.yaml:

- task: AzureKeyVault@1
  inputs:
     azureSubscription: ${{ parameters.subName}}
     keyVaultName: xxx
     secretsFilter: '*'

В настоящее время это известная проблема: мы не можем использовать переменную из группы переменных непосредственно во входную строку azureSubscription задачи AzureKeyVault в соответствии с этим потоком.

Эта работа должна работать нормально!

0 голосов
/ 13 июля 2020
...