代码之家  ›  专栏  ›  技术社区  ›  Colin Smith

如何从AzurePowerShell@5任务

  •  0
  • Colin Smith  · 技术社区  · 5 月前

    Azure管道允许在管道UI中定义秘密变量。这个 Microsoft docs 假设,为了在脚本任务中使用这些变量,它们应该映射到环境变量。

    您需要将秘密变量映射为环境变量,以便在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 任务似乎没有像下面这样公开“env”属性 PowerShell@2 Bash@3 那么,如何将秘密管道变量映射到这些任务中,以便从内联脚本中引用它们呢?

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

    我发现 this SO question ,但这只提供了一个答案PowerShell@2任务。

    注: 运行此步骤的作业正在使用“windows最新”VM映像在Microsoft Hosted代理池上执行。

    1 回复  |  直到 5 月前
        1
  •  0
  •   Rui Jarimba    5 月前

    不幸的是AzurePowerShell@5任务似乎没有像下面这样公开“env”属性PowerShell@2以及Bash@3任务做

    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)
    

    请参阅 Task control options environment variables 了解更多详情。