【问题标题】:Create demands dynamically from variables从变量动态创建需求
【发布时间】:2016-03-27 03:15:08
【问题描述】:

Visual Studio Online(或现在的 Visual Studio Team Services)支持变量及其在大多数领域的扩展。例如,有一个 $(BuildPlatform) 变量可以在 Visual Studio 构建任务的“平台”字段中使用。还有一个 $(Build.SourceBranchName) 变量,这可用于设置内部版本号格式(我们的是 $(Build.SourceBranchName).$(Date:MM)$(Date:dd)$(rev:.r ))。

还可以在构建代理上定义功能。构建定义可能需要存在某些功能(称为“需求”)。在对构建进行排队时,只有支持所有需求的代理才有资格处理构建。

现在,我们自己托管了一些构建服务器。我们还需要同时支持我们产品的多个版本。对于特定版本的产品,构建环境可能不会改变。因此,版本 1 可能只是在构建服务器 1 上构建,版本 2 在构建服务器 2 上构建等等。

这个过程是自动化的,取决于$(Build.SourceBranchName)中的值,可能是“1”、“2”等等,取决于git repo中的当前版本分支。一个直截了当的想法是在构建服务器上定义一些合适的功能(例如“CanBuildVersion1”或“CanBuildVersion = 1”)。然后,我们将通过添加“CanBuildVersion$(Build.SourceBranchName)”存在或“CanBuildVersion = $(Build.SourceBranchName)”的需求来要求提供此功能。但是,变量永远不会扩大,无论是在需求的关键方面还是在价值方面。

有办法吗?

【问题讨论】:

    标签: tfsbuild azure-devops


    【解决方案1】:

    不,该变量永远不会在构建/发布环境之外扩展。因此,您需要手动更改需求值以匹配您在排队新构建时选择的分支。

    【讨论】:

      猜你喜欢
      • 2014-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-10
      • 2021-10-26
      • 2011-10-27
      • 1970-01-01
      相关资源
      最近更新 更多