我想在部署项目中使用竹子计划变量。
我在构建计划期间将项目的版本注入到
${bamboo.inject.version}
中,我想在部署项目中使用它。 (我正在部署的工件使用其名称中的版本)。
我尝试引用
${bamboo.planRepository.inject.version}
和 ${bamboo.inject.version}
但这些都不起作用。
我也很高兴听到其他方法的建议。
编辑:我确实通过将属性文件添加为构建工件,然后将其导出到部署项目来实现我想要的结果。这看起来相当迂回但有效。任何其他想法表示赞赏!
按照 ToAsT 的建议,首先将注入变量的范围设置为 Result,然后将变量
inject.version
添加到您的计划中,并确保您还有 ${bamboo.inject.version}
用于部署项目的发布版本控制字段。
是的,您可以,为此您需要使用名为
Inject Variables
的任务。
key=value
文件(可以是脚本任务):echo "DEPLOYMENT_VERSION={your_version_here}" > /etc/.version
Inject Variables
任务通过构建计划和部署项目(相关)导出此变量:# this is the yaml used in bamboo-specs
version: 2
# ...
tasks:
- inject-variables:
file: /etc/.version
scope: RESULT # share between stages and deployment releases
namespace: anything_you_want
当您运行部署任务时,您可以使用以下名称调用变量:
echo ${bamboo.anything_you_want.DEPLOYMENT_VERSION}
来源:
您可以将该版本信息添加到版本名称本身中,但如果您正在做的事情有效,请坚持下去。查看免费插件中提供的内容。
我创建了一个脚本任务,在其中创建了一个文件file.properties,在我的情况下,我需要多个密钥,我的代码在脚本任务中看起来像这样
echo "key1=val1" >> /tmp/file.properties
echo "key2=val2" >> /tmp/file.properties
echo "key3=val3" >> /tmp/file.properties
注意文件位置完全取决于您
我的下一个任务是注入变量 我在那里传递了 file.properties 的位置 和给定的命名空间:my_namespace 所以文件位置是 /tmp/file.properties
当您运行计划时,您可以在日志中看到这些变量
在部署中,我访问如下所示的计划变量
${bamboo.my_namespace.key1}
${bamboo.my_namespace.key2}
${bamboo.my_namespace.key3}