批处理文件中的Bamboo变量替换

Chr*_*ris 9 bamboo

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

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

goq-image-${bamboo.INTERNALVERSION}-SB${bamboo.buildNumber}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

Ste*_*pel 13

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

  • Unix - goq-image-$bamboo_INTERNALVERSION-SB$bamboo_buildNumber
  • Windows - goq-image-%bamboo_INTERNALVERSION%-SB%bamboo_buildNumber%

令人惊讶的是,我无法找到Windows变体的官方参考,现在只在bash中使用变量:

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

但是,我在某些时候从Atlassian的文档中找到了Windows语法,并在Bamboo变量替换/定义中记录了测试和使用它:

  • 这些变量也可以作为脚本任务中的环境变量使用,例如,尽管名称略有不同,例如$ bamboo_custom_aws_cfn_stack_StringWithRegex(Unix)或%bamboo_custom_aws_cfn_stack_StringWithRegex%(Windows)