从变量动态创建需求

时间:2015-12-23 12:45:39

标签: tfsbuild azure-devops

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

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

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

此过程将自动执行,具体取决于$(Build.SourceBranchName)中的值,该值可能是" 1"," 2"依此类推,取决于git repo中的当前版本分支。一个直截了当的想法是在构建服务器上定义一些适合的功能(例如" CanBuildVersion1"或" CanBuildVersion = 1")。然后,我们需要通过添加" CanBuildVersion $(Build.SourceBranchName)"的需求来提供此功能。存在,或者说" CanBuildVersion = $(Build.SourceBranchName)"。但是,变量永远不会扩展,不会在需求的关键方面或价值方面扩展。

有办法吗?

1 个答案:

答案 0 :(得分:0)

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