Azure devops 在开发人员操作管道中的Azure Powershell中获取环境变量集

Azure devops 在开发人员操作管道中的Azure Powershell中获取环境变量集,azure-devops,yaml,Azure Devops,Yaml,我在一个管道中有2个Azure开发人员操作管道任务-第一个任务调用一个powershell脚本,该脚本执行一些操作,然后设置一个我想再次引用的环境变量 $env:MYVALUE = "ABC" 这个powershell脚本执行得很好,工作也很好——但是我认为在它运行之后,我可以在管道中引用$MYVALUE task: SqlAzureDacpacDeployment@1 displayName: 'Do The thing' inputs: ..

我在一个管道中有2个Azure开发人员操作管道任务-第一个任务调用一个powershell脚本,该脚本执行一些操作,然后设置一个我想再次引用的环境变量

$env:MYVALUE = "ABC"
这个powershell脚本执行得很好,工作也很好——但是我认为在它运行之后,我可以在管道中引用$MYVALUE

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

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

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

我们应该通过powerscriptwrite主机“##vso[task.setvariable={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'