有没有办法在VSTS版本管理中执行嵌套变量

时间:2017-07-31 17:14:58

标签: visual-studio azure-pipelines release-management azure-pipelines-release-pipeline

我在变量组中创建了一些变量,其名称如下:

CodeNetworkShare.Dev
CodeNetworkShare.Test
CodeNetworkShare.Prod

我在发布定义中导入了此变量组。然后我尝试了以下方法在发布定义中使用它

  1. 我在发布定义中创建了一个局部变量,如下所示:

    名称= CodeNetworkShare1 值= $(CodeNetworkShare。$(Release.EnvironmentName))

  2. 我尝试使用以下表达式直接在任务中使用它:

    $(CodeNetworkShare $(Release.EnvironmentName))

  3. 上述两种方法均无效。有没有其他方法我可以让这个工作? VSTS Release Definitions是否嵌套变量?如果目前不支持,是否有计划在未来支持这项工作?

3 个答案:

答案 0 :(得分:1)

VSTS采用不同的方法:您可以在发布定义级别或环境级别定义变量(请参阅https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables)。

enter image description here

答案 1 :(得分:1)

您列出的两种方法可以很好地运作。 VSTS发布支持嵌套变量。

除了在发布定义(或环境变量)中定义变量或直接使用它,您可以直接在变量组中添加变量CodeNetworkShare1 = $(CodeNetworkShare.$(Release.EnvironmentName))。然后在您的发布定义中,它可以使用不同的环境名称应用不同的值。

答案 2 :(得分:1)

VSTS现在可以选择将变量组链接到同一版本定义中的不同环境。为每个环境创建单独的变量组(dev,test,prod,或者只是dev和prod,如果测试在生产环境中),然后将该组链接到链接页面中的正确环境。请在此处的其他答案中查看更多内容:Is there a way to use VSTS Variable Groups per environment?