我正在使用 powershell脚本来处理Visual Studio Team Services(以前的Visual Studio Online)中的构建和发布管道中的许多任务。
这些脚本需要传递许多参数。
我在考虑将所有参数转换为Build和Release管道中的变量,以便任务更清晰。
但我的许多参数已经包含预定义变量。
如何使用这些值创建另一个变量?
如果我将变量定义如下,则预定义变量不会转换为它们的值。
示例:
Blobname = Builds/$(Build.BuildNumber)/*
Use $(Blobname)
在我的任务中。
如何在发布管道的配置部分实现上述目的?
编辑:
答案 0 :(得分:1)
您正在寻找任务记录命令##vso[task.setvariable]value,它在taskcontext的变量服务中设置变量。第一个任务可以设置变量,以下任务可以使用变量。
答案 1 :(得分:0)
您试图以递归方式扩展变量的值,因为VSTS存在一些限制。
有关详情,请参阅本案中Chris的评论:TFS 2015 Build vNext recursive variable substitution
为格式的变量引用处理所有输入 $(varname)用于定义中的所有任务。变量值不是 处理更换,因为它可以创建一个无限循环或我们 选择一些任意次数来替换。