2015-10-14 101 views
3

我在TFS 2015中为自己的构建添加了一个自定义变量,但是,在构建运行时,该变量不会出现在环境变量中。我已经在PowerShell脚本运行TFS 2015不包含在环境变量中的自定义构建变量

Get-ChildItem Env:

验证了这一点。有大量有关预定义构建变量的文档,但有关如何访问自定义变量的文档非常令人失望。任何帮助,将不胜感激。

回答

6

所以我想通了。

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

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

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

看起来,应用于变量名的变换使它们变得友好并不实际处理已经处于正确格式的变量。

0

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

所有的变量都还远销环境大写和 任何._取代。在脚本中,您可以通过环境 引用变量,即根据操作系统,即%VARIABLE_NAME%,$VARIABLE_NAME, $env:VARIABLE_NAME

还值得注意的是,标记为“秘密”的变量不会导出为环境变量。