Получение значения переменной в лазурном конвейере

  enviornment: 'dev'
  acr-login: $(enviornment)-acr-login
  acr-secret: $(enviornment)-acr-secret

dev-acr-login и dev-acr-secret - это секреты, хранящиеся в keyvault для входа в систему acr и секрета acr.

В Pipeline получение секретов с помощью этой задачи

      - task: AzureKeyVault@1
        inputs:
          azureSubscription: $(connection)
          KeyVaultName: $(keyVaultName)
          SecretsFilter: '*'

Эта задача создаст переменные задачи с именами dev-acr-login и dev-acr-secret.

Нет, если я хочу войти в докер, я не могу этого сделать

Следующий код работает, и я могу войти в acr.

      - bash: |
          echo $(dev-acr-secret) | docker login \
              $(acrName) \
              -u $(dev-acr-login) \
              --password-stdin
        displayName: 'docker login'

Следующее не работает. Есть ли способ использовать имена переменных $(acr-login) и $(acr-secret) вместо фактических ключей из keyvault?

      - bash: |
          echo $(echo $(acr-secret)) | docker login \
              $(acrRegistryServerFullName) \
              -u $(echo $(acr-login)) \
              --password-stdin
        displayName: 'docker login'

1 ответ

Вы можете передать их как переменные среды:

- bash: |
    echo $(echo $ACR_SECRET) | ...
  displayName: docker login
  env:
    ACR_SECRET: $(acr-secret)

Но какова цель, в отличие от простого повторения значений пароля, как вы сказали, работает в другом примере? Пока задача создает безопасные переменные, они будут защищены в журналах. В любом случае вам нужно будет это сделать, поскольку в противном случае они отобразились бы в журналах диагностики, если бы кто-то включил диагностику, что может сделать любой.

Пример для этого:

- bash: |
    echo "##vso[task.setvariable variable=acr-login;issecret=true;]$ACR_SECRET"
  env:
    ACR_SECRET: $($(acr-secret)) # Should expand recursively

См. Раздел Определение переменных: установка секретных переменных для получения дополнительной информации и примеров.

Другие вопросы по тегам