Azure DevOps任务作业之间的可变秘密issecret = true

问题描述 投票:0回答:1

我的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)"
azure-devops azure-pipelines azure-keyvault secret-key
1个回答
0
投票

您需要使用以下内容将它们显式设置为环境变量:

env:
  var1: $(your_var_name)

在每个步骤中,您打算使用它们。然后你。可以将它们用作环境变量

© www.soinside.com 2019 - 2024. All rights reserved.