TFS 2015 自定义构建变量未作为环境变量包含在内

TFS 2015 Custom build variables not included as environment variables

我在 TFS 2015 中的构建中添加了一个自定义变量,但是,当构建为 运行 时,此变量不会出现在环境变量中。我已经通过 运行ning

验证了这一点

Get-ChildItem Env:

在 PowerShell 脚本中。有很多关于预定义构建变量的文档,但是关于如何访问自定义变量的文档却非常令人失望。任何帮助将不胜感激。

所以我想通了。

我最初将我的变量命名为 OCTOPUS_API_KEY。我想因为我只会将它作为环境变量来访问,所以我不妨使用 env var 命名约定。

显然,您定义的自定义变量的名称会被一些内部未记录的规则转换 described here

所以基于此,我将变量重命名为 octopus.api.key 并正确转换为 OCTOPUS_API_KEY 环境变量并包含在构建中。

似乎应用到变量名称以使其对环境变量友好的转换实际上并没有处理已经采用正确格式的变量。

构建变量的文档是 now available 并且确实描述了问题中观察到的行为。

All variables are also exported to the environment as uppercase and any . are replaced with _. In scripts you can reference variables via the environment, i.e. %VARIABLE_NAME%, $VARIABLE_NAME, $env:VARIABLE_NAME, depending on the operating system.

还值得注意的是,标记为 "secret" 的变量不会导出为环境变量。