我可以在部署项目中使用bamboo计划变量吗?

问题描述 投票:0回答:4

我想在部署项目中使用竹子计划变量。

我在构建计划期间将项目的版本注入到

${bamboo.inject.version}
中,我想在部署项目中使用它。 (我正在部署的工件使用其名称中的版本)。

我尝试引用

${bamboo.planRepository.inject.version}
${bamboo.inject.version}
但这些都不起作用。

我也很高兴听到其他方法的建议。

编辑:我确实通过将属性文件添加为构建工件,然后将其导出到部署项目来实现我想要的结果。这看起来相当迂回但有效。任何其他想法表示赞赏!

deployment bamboo
4个回答
2
投票

按照 ToAsT 的建议,首先将注入变量的范围设置为 Result,然后将变量

inject.version
添加到您的计划中,并确保您还有
${bamboo.inject.version}
用于部署项目的发布版本控制字段。


2
投票

是的,您可以,为此您需要使用名为

Inject Variables
的任务。

  1. 在构建计划任务中创建一个
    key=value
    文件(可以是脚本任务):
echo "DEPLOYMENT_VERSION={your_version_here}" > /etc/.version
  1. 在下一个任务中,使用
    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}

来源:


1
投票

您可以将该版本信息添加到版本名称本身中,但如果您正在做的事情有效,请坚持下去。查看免费插件中提供的内容。


0
投票

我创建了一个脚本任务,在其中创建了一个文件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}
© www.soinside.com 2019 - 2024. All rights reserved.