如何确保并行的Docker构建Jenkins构建不冲突?

问题描述 投票:0回答:1

我正在使用Docker Pipeline插件让每个Jenkins作业都在一个容器中运行。我的每个詹金斯工作都将运行docker-compose build。如果我运行许多并发作业,docker-compose命令可能会相互冲突。我知道我可以让每个构建使用一些唯一的字符串作为docker网络的名称,或者作为docker-compose build命令的名称/标记,但我希望找到一个不需要这个的解决方案。也许有一种方法可以“命名”每个Jenkins Job容器,以便它们的资源都不能共享?

docker jenkins jenkins-pipeline jenkins-plugins
1个回答
0
投票

您可以生成自定义project name(例如提交ID和/或作业编号),以便撰写文件创建的资源是唯一且可猜测的。这样您就不需要修改撰写文件本身而不将其移动到其他位置。

docker-compose将识别COMPOSE_PROJECT_NAME环境变量,或者您可以将其作为参数传递,例如docker-compose -p ${MY_UNIQUE_ID} build

© www.soinside.com 2019 - 2024. All rights reserved.