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

时间:2012-08-30 12:33:20

标签: bamboo

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

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:13)

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

  • Unix - goq-image-$bamboo_INTERNALVERSION-SB$bamboo_buildNumber
  • Windows - 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)
  •