我在变量组中创建了一些变量,其名称如下:
CodeNetworkShare.Dev
CodeNetworkShare.Test
CodeNetworkShare.Prod
我在发布定义中导入了此变量组。然后我尝试了以下方法在发布定义中使用它
我在发布定义中创建了一个局部变量,如下所示:
名称= CodeNetworkShare1 值= $(CodeNetworkShare。$(Release.EnvironmentName))
我尝试使用以下表达式直接在任务中使用它:
$(CodeNetworkShare $(Release.EnvironmentName))
上述两种方法均无效。有没有其他方法我可以让这个工作? VSTS Release Definitions是否嵌套变量?如果目前不支持,是否有计划在未来支持这项工作?
答案 0 :(得分:1)
VSTS采用不同的方法:您可以在发布定义级别或环境级别定义变量(请参阅https://www.visualstudio.com/en-us/docs/build/concepts/definitions/release/variables)。
答案 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?