如何从 AzurePowerShell@5 任务引用秘密变量

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

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@2Bash@3任务那样公开“env”属性。那么,应该如何将秘密管道变量映射到这些任务中,以便可以从内联脚本中引用它们?

我查看了 AzureCLI@2 任务,但它也缺少“env”属性。

我发现了这个问题,但这仅提供了 PowerShell@2 任务的答案。

注意: 运行此步骤的作业正在使用“windows-latest”VM 映像在 Microsoft 托管代理池上执行。

azure-devops environment-variables azure-pipelines azure-powershell pipeline-security
1个回答
0
投票

不幸的是,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)

有关更多详细信息,请参阅任务控制选项环境变量

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.