如何在Azure DevOps的任务组中使用环境变量?
解决方法
你只需要调整变量的输出配置,三步即可实现同任务组内的变量传递:
- 修改PowerShell脚本的变量输出语句,添加
isoutput=true参数,将变量标记为任务输出变量:
$result = GetSomeResult() Write-Host "##vso[task.setvariable variable=Foo;isoutput=true]$result"
- 给该PowerShell任务设置引用名称:打开PowerShell任务的「高级设置」面板,在「引用名称」字段填写自定义标识,例如
GetResultTask。 - 在同任务组的Azure Functions任务中,直接通过
$(引用名.变量名)的格式调用该值即可。例如你设置的引用名为GetResultTask,就可以在应用设置字段填写$(GetResultTask.Foo)获取对应值。
额外说明
如果需要把该变量传递到任务组外,供流水线其他任务使用,可以额外在任务组的设置里添加输出变量映射:
- 打开任务组编辑页面,在「输出变量」栏新增一条记录,名称自定义为例如
TaskGroupFoo,值填写$(GetResultTask.Foo) - 后续在流水线中引用该任务组时,给任务组设置一个引用名(例如
MyTaskGroup),就可以通过$(MyTaskGroup.TaskGroupFoo)调用该变量。
内容的提问来源于stack exchange,提问作者Paul O'Leary
相关产品推荐
相关产品推荐

