我在TFS 2015的构建中添加了自定义变量,但是当构建运行时,这个变量没有出现在环境变量中。通过在PowerShell脚本中运行
Get-ChildItem Env:
我已经验证了这一点。预定义的构建变量有很多文档,但是访问自定义变量的文档相对较少。希望能够得到帮助。
我在TFS 2015的构建中添加了自定义变量,但是当构建运行时,这个变量没有出现在环境变量中。通过在PowerShell脚本中运行
Get-ChildItem Env:
我已经验证了这一点。预定义的构建变量有很多文档,但是访问自定义变量的文档相对较少。希望能够得到帮助。
所以我解决了这个问题。
我最初将我的变量命名为 OCTOPUS_API_KEY
。 我想既然我只会将其作为环境变量访问,那我可能会使用env变量命名约定。
显然,您定义的自定义变量的名称将根据某些内部未记录的规则进行转换,在此处描述。
因此,基于此,我将变量重命名为 octopus.api.key
,它被正确转换为 OCTOPUS_API_KEY
环境变量并包含在构建中。
看起来,用于使变量名称变成环境变量友好格式的转换实际上不能处理已经具有正确格式的变量。
构建变量文档 现已提供,并描述了所观察到的问题的行为。
所有变量也会导出为大写,并且任何
.
都将替换为_
。在脚本中,您可以通过环境引用变量,即%VARIABLE_NAME%
、$VARIABLE_NAME
、$env:VARIABLE_NAME
,具体取决于操作系统。
值得注意的是,标记为“秘密”的变量不会导出为环境变量。