DevOps Azure Секреты переменных между заданиями задач issecret = true - PullRequest
0 голосов
/ 26 апреля 2019

Мои секреты Keyvault отображаются в текстовом виде в консоли, я попытался установить для переменной значение секрета:

echo "##vso[task.setvariable variable=nsg-list;issecret=true;isOutput=true]$(nsg-list)"
echo "##vso[task.setvariable variable=nsg-rules;issecret=true;isOutput=true]$(nsg-rules)"

Теперь сборка терпит неудачу, если я удаляю issecret=true, сборки снова работают.

Мне нужно передать переменные между задачами и заданиями, есть ли лучший способ сделать это?

pool:
     vmImage: 'Ubuntu-16.04'
   steps:
     - task: AzureKeyVault@1
       displayName: Read variables from keyvault
       inputs:
         azureSubscription: Sandbox
         keyVaultName: "sandbox"
         secretsFilter: '*'
     - script: |
         echo "##vso[task.setvariable variable=backend_storage_account_name;issecret=true;isOutput=true]$(backend-storage-account-name)"
         echo "##vso[task.setvariable variable=backend_storage_container_name;issecret=true;isOutput=true]$(backend-storage-container-name)"
         echo "##vso[task.setvariable variable=backend_access_key;issecret=true;isOutput=true]$(backend-access-key)"
         echo "##vso[task.setvariable variable=tenant-id;issecret=true;isOutput=true]$(tenant-id)"
         echo "##vso[task.setvariable variable=app-id;issecret=true;isOutput=true]$(app-id)"

1 Ответ

0 голосов
/ 26 апреля 2019

вам нужно явно установить их как переменные окружения с чем-то вроде этого:

env:
  var1: $(your_var_name)

на каждом шаге вы собираетесь их использовать. а потом ты. может использовать их как переменные окружения

...