如何将 Bamboo 变量从 Bamboo 脚本发送到 docker 容器?

How to send bamboo variables from Bamboo script to docker container?

我正在使用 bamboo 的 Docker 插件,我需要在 docker 容器中执行脚本。

sh 脚本包含:

echo \"ini_source_path\": \"${bamboo.ini_source_path}\",

如果我将这一行直接放在 Container Command 中,${bamboo.ini_source_path} 将替换为该变量的值。

当我将 /bin/bashscript.sh 放入 Container Command 时出现的问题,因为我收到错误:

script.sh: line 35: \"${bamboo.ini_source_path}\",: bad substitution

有什么方法可以从 docker 容器中的脚本访问 bamboo.ini_source_path 变量?

谢谢!

您使用的是哪个版本的 Bamboo?此问题已在 Bamboo 6.1.0 中修复:

无法在 运行 docker 任务中的容器名称字段中使用变量

解决方法:

  • 创建一个在 Docker 任务之前运行的脚本任务。
  • 运行 命令如

    echo "export sourcepath=$ini_source_path" > scriptname.sh
    chmod +x scriptname.sh
    

Docker 任务会将 ${bamboo.working.directory} 映射到 Docker \data volume。

所以刚刚创建的scriptname.sh脚本在Docker中可用container.The脚本将被执行,并且会正确设置变量。