我正在处理Azure DevOps发布管道。发布管道中的第一个任务是Powershell任务。此任务具有Powershell脚本内联。以下是该任务的内容:
steps:
- powershell: |
$repo = '$(Release.TriggeringArtifact.Alias)'
switch ( $repo )
{
_repo-health { $result = 'Health' }
}
$result
$Repo_Name = $result
Write-Output "$Repo_Name"
displayName: 'PowerShell Script'
因此,从上面的任务通过Powershell脚本,我尝试使用预定义的变量获取Repository名称,并将其分配给一个变量。
管道中的第二个任务是Powershell任务,其中包含Powershell脚本,内容如下-
# Write your PowerShell commands here.
Write-Output "$Repo_Name"
因此,当我尝试在正在打印的同一个任务中打印**"$Repo_Name”**时,如果我尝试在同一管道的另一个任务或阶段中打印或获取变量值,我无法打印它。因此,在此需要帮助。
1条答案
按热度按时间vngu2lb81#
您使用第一个powershell脚本的特殊格式输出,这将告诉构建代理您要将一个变量设置为给定值:
从那时起,变量"Repo_Name"将具有powershell变量"$Repo_Name"的值。
然后,您可以在以下脚本/任务中引用该变量:
更多here的详细信息,尤其是检查
isoutput=true
修饰符,您可能需要根据变量应该具有的"作用域"添加该修饰符。例如,如果您需要在下一阶段读取变量,则必须将其设置为: