我可以使用预定义变量作为Visual Studio Team Services中自定义变量的值吗?

时间:2016-03-30 04:38:12

标签: powershell azure-devops

我正在使用 powershell脚本来处理Visual Studio Team Services(以前的Visual Studio Online)中的构建和发布管道中的许多任务。

这些脚本需要传递许多参数。

我在考虑将所有参数转换为Build和Release管道中的变量,以便任务更清晰。

但我的许多参数已经包含预定义变量。

如何使用这些值创建另一个变量?

如果我将变量定义如下,则预定义变量不会转换为它们的值。

示例:

Blobname = Builds/$(Build.BuildNumber)/*

Use $(Blobname)在我的任务中。

如何在发布管道的配置部分实现上述目的?

编辑:

我想在这里添加变量,如下面的截图所示。 enter image description here

2 个答案:

答案 0 :(得分:1)

您正在寻找任务记录命令##vso[task.setvariable]value,它在taskcontext的变量服务中设置变量。第一个任务可以设置变量,以下任务可以使用变量。

答案 1 :(得分:0)

您试图以递归方式扩展变量的值,因为VSTS存在一些限制。

有关详情,请参阅本案中Chris的评论:TFS 2015 Build vNext recursive variable substitution

  

为格式的变量引用处理所有输入   $(varname)用于定义中的所有任务。变量值不是   处理更换,因为它可以创建一个无限循环或我们   选择一些任意次数来替换。