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

问题描述 投票:2回答:3

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

CodeNetworkShare.Dev
CodeNetworkShare.Test
CodeNetworkShare.Prod

我在Release Release中导入了这个变量组。然后我尝试了以下方法在Release定义中使用它

  1. 我在Release Definition中创建了一个局部变量,如下所示: Name = CodeNetworkShare1 Value = $(CodeNetworkShare。$(Release.EnvironmentName))
  2. 我尝试使用以下表达式直接在任务中使用它: $(CodeNetworkShare。$(Release.EnvironmentName))

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

visual-studio azure-pipelines release-management azure-pipelines-release-pipeline
3个回答
1
投票

VSTS有不同的方法:您可以在Release Definition级别或Environment级别定义变量(请参阅https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables)。

enter image description here


1
投票

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

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


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.