如何在DevOps发布管道的Azure Powershell任务中使用环境变量?

时间:2020-07-09 17:28:31

标签: powershell azure-devops azure-pipelines azure-powershell azure-pipelines-release-pipeline

在Azure DevOps发布管道中,我有一个代理作业。在该代理工作中,我有一个Azure Powershell任务。我看不到为Azure Powershell任务运行的Azure Powershell脚本指定环境变量的方法。

您可以在构建管道中完成此操作,只需为Azure PowerShell任务指定“ env”即可:

- task: AzurePowerShell@5
  inputs:
    azureSubscription: '...'
    ScriptType: 'FilePath'
    ScriptPath: '...'
    ScriptArguments: '...'
    FailOnStandardError: true
    azurePowerShellVersion: 'LatestVersion'
  env:
    USERNAME: $(username)
    PASSWORD: $(password)

但是我看不到在发布管道中指定“ env”的任何方式:

Screenshot showing no way to add environment variables

这怎么办?

2 个答案:

答案 0 :(得分:1)

执行管道时,Azure会将所有管道变量都放入环境变量中,以便您在构建过程中运行的任何工具,脚本,任务或过程都可以通过环境访问参数。

在DevOps管道GUI中定义变量:

enter image description here

要在Azure Powershell任务中获取秘密变量,只需使用$(varibaleName)的语法即可。

答案 1 :(得分:-1)

我在发布管道中的Powershell脚本中对变量所做的操作是使用变量Tab,您可以在其中将变量对添加到管道变量中或在库部分中创建变量组,然后将其链接。

因此,如果您为compname computer1创建一个变量对,则在实际的powershell脚本中,将该变量引用为get-azvm -name $ env:compname

这将提取您添加的变量