我在管道中有2个Azure Dev Ops管道任务-第一个调用执行某些操作的powershell脚本,然后设置要再次引用的Env变量;
$env:MYVALUE = "ABC"
此powershell脚本已执行并且运行良好-但是我认为我可以在运行后在管道中引用$ MYVALUE
task: SqlAzureDacpacDeployment@1
displayName: 'Do The thing'
inputs:
...
DatabaseName: '$(MYVALUE)'
...
是否可以从管道中获取ENV变量?
答案 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'