在Dev Ops管道中的Azure Powershell中获取Env变量集

时间:2020-08-04 15:29:22

标签: azure-devops yaml

我在管道中有2个Azure Dev Ops管道任务-第一个调用执行某些操作的powershell脚本,然后设置要再次引用的Env变量;

$env:MYVALUE = "ABC"

此powershell脚本已执行并且运行良好-但是我认为我可以在运行后在管道中引用$ MYVALUE

task: SqlAzureDacpacDeployment@1
    displayName: 'Do The thing'
    inputs:
      ...
      DatabaseName: '$(MYVALUE)' 
      ...

是否可以从管道中获取ENV变量?

1 个答案:

答案 0 :(得分:1)

您共享的示例是创建流程变量,因此当流程退出并且您无法从另一个流程(PowerShell实例)访问该变量时,它将丢失。

我们应该通过超级脚本Write-Host“ ## vso [task.setvariable variable = {variable name}] {variable value}”设置变量,然后在另一个任务中调用该变量。

骨架版本如下:

pool:
  vmImage: 'ubuntu-latest'

trigger:
- none

steps:
- powershell: |   
   Write-Host ("##vso[task.setvariable variable=MYVALUE]ABC")
  displayName: 'PowerShell Script'

- powershell: |
   Write-Host "The value of MYVALUE is : $($env:MYVALUE)"
  displayName: 'PowerShell Script'

enter image description here