我们在Windows机器上运行Atlassian的Bamboo构建服务器4.1.2。我创建了一个在Task中执行的批处理文件。该脚本仅在.bat文件中引用,并且在任务中不是内联的。 (例如createimage.bat)
在createimage.bat中,我想使用Bamboo的PLAN变量。通常的变量语法不起作用,意味着不替换。脚本中的一行可以是例如:
goq-image-${bamboo.INTERNALVERSION}-SB${bamboo.buildNumber}
有什么想法吗?
答案 0 :(得分:13)
您正在使用内部Bamboo variables语法,但Script Task将这些语法传递到操作系统的脚本环境中,并且需要相应地引用它们,例如(请注意术语之间的下划线):
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)