Dynami c Переменные в шаблоне конвейера Azure - PullRequest
3 голосов
/ 05 мая 2020

Я работаю над шаблоном, который поможет упростить наши развертывания на наших локальных серверах IIS. Имена пользователей и пароли хранятся в Azure Key Vault, но когда я go использую их в Задаче управления веб-приложением, я не могу получить к ним доступ. Я думаю, у меня просто неправильный синтаксис.

Чтобы получить ключи в Azure Key Vault, я использую следующую задачу. Это работает тем, что он находит ключи и не выдает мне ошибки.

- task: AzureKeyVault@1
  inputs:
    azureSubscription : '_MyServiceConnectionHere_'
    KeyVaultName : '_MyVaultNameHere_'
    SecretsFilter : '${{ parameters.websiteName }}-AppPoolUsername,${{ parameters.websiteName }}-AppPoolPassword'

Вот как я использую их в задаче управления веб-приложением IIS. (Я сократил следующее до соответствующих частей.)

- task: IISWebAppManagementOnMachineGroup@0
  displayName: Update Website and App Pool
  inputs:
    AppPoolNameForWebsite: ${{ parameters.websiteName }}
    DotNetVersionForWebsite: 'No Managed Code'
    AppPoolIdentityForWebsite: 'specificUser'
    AppPoolUsernameForWebsite: ${{variables['${{parameters.websiteName}}-AppPoolUsername']}}
    AppPoolPasswordForWebsite: ${{variables['${{parameters.websiteName}}-AppPoolPassword']}}
    AppPoolName: ${{ parameters.websiteName }}

Здесь имя пользователя и пароль не разрешаются. Как видите, я пытаюсь получить их, используя следующий синтаксис:

${{variables['${{parameters.websiteName}}-AppPoolUsername']}}

Каков правильный синтаксис для получения переменных по составленному имени ключа?

1 Ответ

0 голосов
/ 06 мая 2020

В задаче IISWebAppManagementOnMachineGroup вам просто нужно использовать $(xxx), чтобы получить переменную как обычную переменную.

${{}} - синтаксис времени компиляции. Сначала вам нужно запустить задачу Azure Key Vault, чтобы переменная сгенерировалась в среде.

Чтобы использовать Azure секреты Key Vault в следующих задачах, просто используйте $ (secret_name).

secret_name - это то, которое вы создали в Azure Key Vault.

Также ознакомьтесь с подробными примерами в этом блоге: Использование секретов из Azure Key Vault в конвейере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...