Azure Pipelines 允许在管道 UI 中定义秘密变量。 Microsoft 文档 指出,为了在脚本任务中使用这些变量,应将它们映射到环境变量。
您需要将秘密变量映射为环境变量以在 YAML 管道中引用它们。在此示例中,UI 中定义了两个秘密变量 SecretOne 和 SecretTwo。 SecretOne 的值为 foo,SecretTwo 的值为 bar
steps:
- powershell: |
Write-Host "My first secret variable is $env:FOO_ONE"
$env:FOO_ONE -eq "foo"
env:
FOO_ONE: $(SecretOne)
不幸的是,AzurePowerShell@5任务似乎没有像PowerShell@2和Bash@3任务那样公开“env”属性。那么,应该如何将秘密管道变量映射到这些任务中,以便可以从内联脚本中引用它们?
我查看了 AzureCLI@2 任务,但它也缺少“env”属性。
我发现了这个问题,但这仅提供了 PowerShell@2 任务的答案。
注意: 运行此步骤的作业正在使用“windows-latest”VM 映像在 Microsoft 托管代理池上执行。
不幸的是,AzurePowerShell@5 任务似乎没有像 PowerShell@2 和 Bash@3 任务那样公开“env”属性
env
是所有任务支持的通用属性之一,包括AzurePowerShell@5。
以下内容有效:
- task: AzurePowerShell@5
inputs:
azureSubscription: 'my-subscription'
azurePowerShellVersion: LatestVersion
ScriptType: 'InlineScript'
Inline: |
Write-Host "Hello " + Env:FOO_ONE
env:
FOO_ONE: $(SecretOne)