如何 运行 jenkins 在代理节点上交替构建?

How to run jenkins build alternatively on agent nodes?

假设我有一份工作 A,还配置了一个代理。我想 运行 在主节点上构建作业 A 的 1 个,在代理节点上构建作业 A 的 2 个。 是否有实现该目标的选项?

有没有一种方法可以让我的工作查看控制器,如果它已经找到一个构建 运行ning,然后在代理上开始下一个构建?

您打算 运行 并行还是交替? (run jobs on master; 不是一个好主意,可以将节点配置为 运行 在与“master”相同的主机上。)。似乎是并行的,并且您在主服务器和代理服务器上都限制了每个执行器(您可以有更多,在这种情况下,任何建议都可能没有实际意义)。

然而,Jenkins 队列作业分配给执行者是“粘性的”;它会尝试 运行 最后 运行 的位置,除非不可用。这可能导致节点过载。所以M,A,M,A的模式是不自然的。

有些插件可能有帮助:Least Load, Scoring Load Balancer,但也许没有。

也许一种方法是使用标签来限制您的工作,并有一个 post-build groovy 步骤,在下一个 运行 或两个成功后将标签移动到另一个标签和作业 self-modifies 标签要相互匹配。