是否可以在Bamboo中将设置在一个脚本中的环境变量传递给另一个脚本?
例如,我按如下所示设置Go,并希望后续任务(脚本)可以访问我在此处导出的PATH和GOPATH.
set -e if [ ! -d "go" ]; then wget -q https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz tar -xzf go1.5.linux-amd64.tar.gz fi export GOROOT=$(pwd)/go mkdir -p gopath/ export GOPATH=$(pwd)/gopath export PATH=$GOROOT/bin:$GOPATH/bin:$PATH
解决方法
这是使用Injecct Variables插件实现的,该插件自5.7以来捆绑:
https://marketplace.atlassian.com/plugins/com.atlassian.bamboo.plugins.bamboo-variable-inject-plugin/server/overview
https://marketplace.atlassian.com/plugins/com.atlassian.bamboo.plugins.bamboo-variable-inject-plugin/server/overview
这样做的方法如下:
>在初始任务中,让脚本将状态存储到文件中(以key = value格式),例如:
echo “MYVAR=$(cat some_variable_info_file)” >> build/docker.properties
>配置以下Inject任务,将上一步中的属性文件读入Bamboo变量.将PATH设置为属性文件(例如build / docker.properties)并设置命名空间,例如docker
>要在下一个任务中使用此变量,可以将其称为:
$bamboo.docker.MYVAR其中docker是命名空间,MYVAR是属性文件中属性的键.例如,它可以被称为:
echo $bamboo.docker.MYVAR
这意味着您仍然可以使用基于文件的方法,只需确保其中的数据类型为:
some_key1=some_value1 some_key2=some_value2
等等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。