借助Azure Release Pipeline,在使用PowerShell脚本的任务中,我能够设置变量的值并使用命令
传递给下一个任务Write-Host '##vso[task.setvariable variable=varResourceExists;isOutput=true;something'
但是,当我在使用Azure PowerShell的任务中放置此类似命令时,不再允许该命令,该任务会产生警告:
2019-10-22T00:23:14.3080614Z ## [warning]'## vso [task.setvariable variable = varResourceExists; isOutput = true;某些内容包含日志记录 命令关键字“ ## vso”,但这不是合法命令。请看 可接受的命令列表: https://go.microsoft.com/fwlink/?LinkId=817296
因此,我的任务无法设置变量varResourceExists。我还通过
尝试了常规的PowerShell设置值$varResourceExists = 'something'; # this also does not work
有没有一种方法可以在Azure Powershell脚本中设置此值,以便下一个任务可以引用它?
答案 0 :(得分:2)
##vso[task.setvariable variable=varResourceExists;isOutput=true;something
是不正确的语法。您缺少结尾]
。
应为##vso[task.setvariable variable=varResourceExists;isOutput=true;]something
答案 1 :(得分:0)
这是我解决主题的方法。在管道Azure PowerShell任务中,我可以使用诸如Write-Host '##vso[task.setvariable variable=varResourceExists;isOutput=true;]False';
在“输出变量”选项中,设置参考名称“ step1”: Output Variable 然后在下一步中,我可以使用“自定义条件”进行条件检查: Custom Condition
我还可以在代码中引用变量,例如Write-Host "The step1.varResourceExists says: $(step1.varResourceExists)";