在Azure DevOps的发布管道中的作业代理的两个任务之间共享PowerShell变量

时间:2018-12-20 09:34:13

标签: powershell azure-devops

我在Azure DevOps的Release管道中创建了两个PowerShell任务。 第一个任务包含一个内联PowerShell脚本,如下所示:

$ciVersion = "v2.1"
Write-Host $ciVersion

在第二个PowerShell任务中,我只想读取在第一个PowerShell任务中声明的变量。

Write-Host $ciVersion

运行发行过程后,控制台在第一个任务的控制台窗口中向我显示v2.1,但在第二个任务的控制台窗口中没有显示任何内容。 我也尝试过声明一个环境变量并在任务中修改它的值,但这对我也不起作用。有任何想法吗?干杯

1 个答案:

答案 0 :(得分:3)

在第一个PowerShell任务中,将变量设置为环境变量:

$ciVersion = "v2.1"
Write-Host $ciVersion
Write-Host ("##vso[task.setvariable variable=ciVersion;]$ciVersion")

在第二个任务中,以这种方式读取变量:

$ciVersion =  $env:ciVersion
Write-Host $ciVersion

这将完成工作:)