【发布时间】:2016-06-07 23:36:17
【问题描述】:
我在 TFS 2015 中的构建中添加了一个自定义变量,但是,当构建运行时,此变量不会出现在环境变量中。我已经通过运行验证了这一点
Get-ChildItem Env:
在 PowerShell 脚本中。有很多关于预定义的构建变量的文档,但是关于如何访问自定义变量的文档非常令人失望。任何帮助将不胜感激。
【问题讨论】:
标签: powershell tfsbuild tfs-2015
我在 TFS 2015 中的构建中添加了一个自定义变量,但是,当构建运行时,此变量不会出现在环境变量中。我已经通过运行验证了这一点
Get-ChildItem Env:
在 PowerShell 脚本中。有很多关于预定义的构建变量的文档,但是关于如何访问自定义变量的文档非常令人失望。任何帮助将不胜感激。
【问题讨论】:
标签: powershell tfsbuild tfs-2015
所以我想通了。
我最初将变量命名为 OCTOPUS_API_KEY。我想,因为我只会将它作为环境变量来访问,所以我不妨使用 env var 命名约定。
显然,您定义的自定义变量的名称会被一些内部未记录的规则 described here 转换。
因此,基于此,我将变量重命名为 octopus.api.key 并正确转换为 OCTOPUS_API_KEY 环境变量并包含在构建中。
似乎对变量名称进行的转换以使其对环境变量友好,实际上并不能处理已经采用正确格式的变量。
【讨论】:
构建变量的文档是 now available,并且确实描述了问题中观察到的行为。
所有变量也以大写字母和 任何
.都替换为_。在脚本中,您可以通过以下方式引用变量 环境,即%VARIABLE_NAME%,$VARIABLE_NAME,$env:VARIABLE_NAME,取决于操作系统。
还值得注意的是,标记为“秘密”的变量不会导出为环境变量。
【讨论】: