2017-10-06 56 views
0

我有泊坞窗配置任务,我需要在泊坞窗容器中使用竹变量的bash脚本来执行。如何了很多竹子变量传递给码头工人集装箱?

有没有办法通过所有竹变量泊坞窗容器?

我有很多的竹子计划在他们所以把所有的变量在容器环境变量很多不同的变量,是不是一种选择。

当然,我可以将它们放到文件中的一个任务,从搬运工任务解析文件中的变量,但我希望能找到一个简单的解决方案。

谢谢!

+0

如果我的回答能解决您的问题,请接受它。所以未来的访客可以认出它。 – lifeisfoo

回答

0

可以使用env_file option using compose

web: 
    env_file: 
    - your-variables.env 

或使用docker run --env-file=your-variables.env ...

的ENV文件是一个简单的键值文本文件:

0

什么版本的竹子您使用的是?

有竹变量的一个问题是在竹子的某些版本泊坞窗容器,而是固定在竹6.1.0:

Unable to use variables in Container name field in Run docker task

解决方法:

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

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

的泊坞任务将是映射$ {bamboo.working.directory}将多克尔\数据量。

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

在这个岗位更多信息: How to send bamboo variables from Bamboo script to docker container?

0

我认为唯一的办法就是你提到那些已经 - 转储ENV变量早些时候在流动专用任务文件。也就是说,如果你做到这一点,像这样:

#!/bin/bash 
env | grep ^bamboo_ > my_env_file 

注意严格的正则表达式防止倾销变量,如PATH。

然后在码头工人的任务,在“其他参数”中添加以下

--env-file=my_env_file