14

我们在 Windows 机器上运行 Atlassian 的 Bamboo 构建服务器 4.1.2。我创建了一个在任务中执行的批处理文件。该脚本只是在 .bat 文件中引用,而不是在任务中内联。(例如createimage.bat)

在 createimage.bat 中,我想使用 Bamboo 的 PLAN 变量。通常的变量语法不起作用,意味着没有被替换。例如,脚本中的一行可以是:

goq-image-${bamboo.INTERNALVERSION}-SB${bamboo.buildNumber}

有任何想法吗?

4

1 回答 1

16

您正在使用内部Bamboo 变量语法,但脚本任务将它们传递到操作系统的脚本环境中,并且需要使用相应的语法来引用它们,例如(请注意术语之间的下划线):

  • Unix -goq-image-$bamboo_INTERNALVERSION-SB$bamboo_buildNumber
  • 窗户 -goq-image-%bamboo_INTERNALVERSION%-SB%bamboo_buildNumber%

令人惊讶的是,我无法找到 Windows 变体的官方参考,现在只有Using variables in bash

Bamboo 变量导出为 bash shell 变量。所有句号(句点)都转换为下划线。例如,变量bamboo.my.variable 在bash 中是$bamboo_my_variable。这与文件脚本任务(不是内联脚本任务)有关。

但是,我在某些时候从 Atlassian 的文档中了解了 Windows 语法,并按照Bamboo Variable Substitution/Definition中的说明对其进行了测试和使用:

  • 例如,这些变量也可用作脚本任务中的环境变量,尽管名称略有不同,例如 $bamboo_custom_aws_cfn_stack_StringWithRegex (Unix) 或 %bamboo_custom_aws_cfn_stack_StringWithRegex% (Windows)
于 2013-12-05T02:09:03.103 回答