加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – Bamboo – 在任务/脚本之间传递环境变量

发布时间:2020-12-15 21:24:28 所属栏目:安全 来源:网络整理
导读:是否可以在Bamboo中将设置在一个脚本中的环境变量传递给另一个脚本? 例如,我按如下所示设置Go,并希望后续任务(脚本)可以访问我在此处导出的PATH和GOPATH. set -eif [ ! -d "go" ]; then wget -q https://storage.googleapis.com/golang/go1.5.linux-amd64.t
是否可以在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

这样做的方法如下:

>在初始任务中,让脚本将状态存储到文件中(以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

等等

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读