我正在使用Docker Pipeline插件在容器中运行每个Jenkins作业。我的每个詹金斯工作都将运行docker-compose build
。如果我同时运行许多作业,则docker-compose
命令可能会相互冲突。我知道我可以让每个版本都使用一些唯一的字符串作为docker网络的名称,或者作为docker-compose build
命令的名称/标签,但是我希望找到一种不需要此名称的解决方案。也许有一种方法可以对每个Jenkins Job容器进行“命名空间”,以便它们的任何资源都不能共享?
答案 0 :(得分:0)
您可以生成自定义{{3}}(例如,提交ID和/或作业号),以便由撰写文件创建的资源是唯一且可猜测的。这样,您无需修改撰写文件本身就可以将其移动到另一个位置。
docker-compose
可以识别COMPOSE_PROJECT_NAME
环境变量,也可以将其作为参数传递,例如docker-compose -p ${MY_UNIQUE_ID} build
。