将变量值从AZ PowerShell任务中的一个PowerShell脚本传递到Azure DevOps Release管道中的下一个AZ PowerShell任务中的另一个脚本 [英] Pass variable value from one Powershell script in AZ Powershell task to another script in the next AZ Powershell task in Azure DevOps Release Pipeline

本文介绍了将变量值从AZ PowerShell任务中的一个PowerShell脚本传递到Azure DevOps Release管道中的下一个AZ PowerShell任务中的另一个脚本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在试验一个Azure DevOps发布管道。发布管道中的第一个任务是AZ PowerShell任务。此任务具有PowerShell脚本文件。以下是文件的内容-

[CmdletBinding()]
param (
   $MyVar
)
$MyVar = "My Value"
Write-Host '##vso[task.setvariable variable=NewVar;]$MyVar'

再次流水线中的第二个任务是带有PowerShell脚本的AZ PowerShell任务,其中包含以下内容-

[CmdletBinding()]
param (
   $MyNewVar
)

$MyNewVar = "$(NewVar)"
Write-Host $MyNewVar

我运行简单的发布管道,收到以下错误

Cannot validate argument on parameter 'NewVar'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.

请注意,在每个AZ PowerShell任务中以内联方式运行相同的PowerShell代码时,同样可以很好地工作。

如有任何帮助,我们将不胜感激。

推荐答案

我在第二个任务中添加了一个新参数,如下所示-

-$MyNewVar "$(NewVar)"

这也没有成功,但在第一个任务中,我将包含单引号的最后一行更改为双引号,即

Write-Host '##vso[task.setvariable variable=NewVar;]$MyVar' 

更改为

Write-Host "##vso[task.setvariable variable=NewVar;]$MyVar"

这最终解决了问题。

这篇关于将变量值从AZ PowerShell任务中的一个PowerShell脚本传递到Azure DevOps Release管道中的下一个AZ PowerShell任务中的另一个脚本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆