我们有一个VNext构建定义,在Variables选项卡上我们添加了一些自定义变量。在其中一个变量值中,我们引用另一个变量,即
FileDescription = $(Build.DefinitionName)
但是,当我们在PowerShell脚本中引用它时,FILEDESCRIPTION
环境变量仍然存在,但该值未展开(它包含" $(Build.DefinitionName)
")并且已被处理作为字符串文字。
文档似乎表明我们应该能够引用它并且它将在运行时被取代 - https://msdn.microsoft.com/en-us/library/vs/alm/build/scripts/variables
有没有办法让TFS在运行时自动扩展变量?
答案 0 :(得分:0)
在vNext构建中,似乎没有将变量扩展到任何地方。
例如,在MSBuild-Arguments中,/p:OUTPUT="$(FileDescription)"
扩展为/ p:OUTPUT ="(构建定义的名称)" ,但在powershell中,它只会直接打印"$(Build.DefinitionName)"
。
尝试使用以下解决方法:尝试使用相应的生成环境变量(例如 $ env:Build.DefinitionName )。
$FileDescription = $env:Build.DefinitionName
注意:如果需要更改路径,则必须更改PS脚本而不是构建变量。