【问题标题】:Can i use a predefined variable as the value of a custom variable in Visual Studio Team Services?我可以在 Visual Studio Team Services 中使用预定义变量作为自定义变量的值吗?
【发布时间】:2016-07-05 07:16:20
【问题描述】:

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

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

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

但我的许多参数中已经有预定义的变量。

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

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

示例:

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

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

如何在发布管道的配置部分实现以上功能?

编辑:

我想在这里添加变量,如下面的屏幕截图所示。

【问题讨论】:

    标签: powershell azure-devops


    【解决方案1】:

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

    【讨论】:

    • 我想让用户更容易通过使用发布管道变量添加 powershell 脚本参数。上面的屏幕截图更详细地显示了这一点。这可能吗?
    【解决方案2】:

    您正在尝试递归扩展变量的值,因为 VSTS 存在一些限制。

    详情请参阅 Chris 在此案例中的评论:TFS 2015 Build vNext recursive variable substitution

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-03
      • 2018-07-02
      • 2018-02-09
      • 2013-05-19
      • 1970-01-01
      相关资源
      最近更新 更多