Jenkins中有多个构建队列

Pau*_*han 6 jenkins

我在Jenkins有很多不同的工作,用他们自己的构建/测试/分析"管道"划分成项目.大多数这些作业实际上是远程命令而不是on-box-builds.

但是,Jenkins开箱即用只支持所有构建的一个队列.我想为每个项目(或视图)定义一个队列.

我怎么做到这一点?

gar*_*les 5

据我所知,如果不更改 Jenkins 代码,这是不可能的,但我认为您可以使用build slaves以最少的维护实现相同的目标 如果您定义多个执行程序(如果从机具有 >1 个 CPU),则不同的构建可以在从站上并发运行,甚至可以在同一个从站上运行。您可以标记从属以控制在每个从属上执行哪些作业,因此您可以为每个管道拥有一组单独的从属。

除了确保基本从机保持运行的开销外,Jenkins 运行从机的特定开销是最小的。您可以使用 master 上的一个进程来保持从属 JAR 文件和您需要更新的构建工具;在我的商店,我们使用一个简单的 rsync 脚本,该脚本在每次重新启动主站或从站时运行,以将最新工具从主站复制到从站并重新启动从站进程。

这种方法还降低了 Jenkins 主节点单点故障的程度。