我在 Jenkins 中有许多不同的工作,分为具有自己的构建/测试/分析“管道”的项目。大多数这些工作实际上是远程命令而不是机上构建。
然而,开箱即用的 Jenkins 仅支持一个队列all构建。我想为每个项目(或视图)定义一个队列。
我将如何实现这个目标?
据我所知,如果不更改 Jenkins 代码,这是不可能的,但我认为您可以使用最少的维护来实现相同的目标建立奴隶。 https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds不同的构建可以在从机上同时运行,如果您定义了多个执行器(如果从机具有 >1 个 CPU),甚至可以在同一个从机上运行。您可以标记从属设备以控制在每个从属设备上执行哪些作业,因此您可以为每个管道拥有一组单独的从属设备。
除了确保基本从机保持运行的开销之外,Jenkins 运行从机的特定开销是最小的。你可以在master上使用一个进程来保持slave JAR文件和你需要的构建工具的更新;在我的商店,我们使用一个简单的 rsync 脚本,每次重新启动主站或从站时都会运行该脚本,以将最新工具从主站复制到从站并重新启动从站进程。
这种方法还减少了 Jenkins master 出现单点故障的程度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)