我有一个带有变量的发布管道,但是似乎没有任何方法可以将该变量的值设置为在发布时评估的值。例如,另一个变量。
这是一个真实的例子:
我要做的就是将MyExpressionBasedVariable
的值设置为MyOtherVariable
的值。
所有在线文档和示例似乎都表明有可能,但我无法使其正常工作。我总是以文字字符串而不是评估值结束。
我尝试使用以下不同的语法:
$(MyOtherVariable)
$[variables['MyOtherVariable']]
${{variables['MyOtherVariable']}}
我已经看到您可以定义自定义任务来设置变量名称,并将其作为管道的一部分,但这似乎过大了。
基本上,我要做的就是将密钥库密钥重命名为其他变量名称,以便在配置文件中替换基于约定的XML变量。
例如我有一个叫做this-is-a-secret-name-which-is-a-different-naming-convention-to-my-connectionstrings
的秘密,但是我需要在一个名为MySecret-ConnectionString
的变量中使用它。
答案 0 :(得分:0)
如何在发布管道变量中使用另一个变量的值?
经过我的测试,您所设置的应该是可行的。您可以尝试按照以下步骤检查是否仍然存在此问题:
按如下所示设置变量:
添加运行内联Powershell任务以输出变量的值:
Write-Output 'The value of MyExpressionBasedVariable is $(MyExpressionBasedVariable)'
Write-Output 'The value of $(MyOtherVariable) is $(MyOtherVariable)'
然后我们可以获取日志:
因此,您设置的内容应该可以使用,如果仍然不能使用,那么您需要确保问题中描述的变量是您实际测试的变量。< / p>
此外,目前,构建/发布管道中尚不支持嵌套变量的值(如$(TestVar_$(Release.Reason))
),请选中{{ 3}},请确保项目中没有此类嵌套变量。
希望这会有所帮助。