如何将AzureDevOps中的Azure KeyVault机密用作CI / CD定义中的变量?

时间:2019-09-16 11:11:42

标签: azure azure-devops powershell-2.0

正在使用Azure DevOps和Azure KeyVault。在这里,我试图使用Azure DevOps Pipelines中的KeyVault机密登录我的Azure帐户。为此,我遵循了Link-1,它用于获取秘密。所有设置均已正确完成,并进行了检查,我使用内联脚本执行了PowerShell任务,如图所示,其中Password是KeyVault Secret: enter image description here

运行Build时,其运行无任何错误。但是,这里得到的KeyVault secrets(Password)值如下: enter image description here

之后,当我尝试通过添加一些用于登录目的代码进行进一步的操作时,收到如下错误: enter image description here enter image description here 您能建议我如何摆脱这种情况吗?

2 个答案:

答案 0 :(得分:0)

首先,Azure Devops将不会输出定义为机密的变量。

然后在脚本中输入错误。您应该double-quote密码:

$securePassword = "$(Password)" | ConvertTo-SecureString -AsPlainText -Force

答案 1 :(得分:0)

秘密变量需要在管道中使用之前进行映射。您可以尝试以下步骤。

首先,在Powershell任务中将机密映射到环境变量 enter image description here

然后使用下面的脚本引用密码

$SecurePassword=$env:PASSWORDMAP

单击here有关如何使用机密变量的更多信息。