我在jenkins中有一组构建作业,可以在3个构建节点中的任何一个中运行。它们都标有“ubuntu_build”的通用标签。每个节点都有许多执行程序,因此允许一些构建在一台机器上并行执行。设置运行正常并按预期进行,但我想改进它。
3个构建节点具有不同的性能。第一个是第二个的两倍,速度是第三个的两倍。 (称之为fast_node,regular_node,slow_node)
据我了解scheduling strategy,下一次使用最后用于给定构建作业的计算机。当有很多构建过程并且作业最后构建在slow_node上时,这有时会导致问题,因此即使fast_node有一些可以工作的执行器,它也会继续存在。
我想要的是一种说法,对于通过队列的任何作业,我希望它尝试在fast_node上找到空间,然后是regular_node,最后是slow_node。 (即尝试继续使用可用的最快执行者)
无论如何设置这样的东西?
答案 0 :(得分:11)
根据AltF4_回答,我再次查看了插件,找到了Scored Load Balancer Plugin。它看起来比Least Load插件更好。我将试一试,看看它是如何运作的。
答案 1 :(得分:2)
我正在阅读另一个与此类似的问题,建议您可以使用名为" Least Load Plugin"
的插件摘要
默认情况下,Jenkins尝试将作业分配给执行的最后一个节点。这可能导致节点在其他节点过载时保持空闲状态。此插件会覆盖默认行为,并将作业分配给负载最小的节点。最小负载定义为空闲节点或具有最多可用执行器的节点。它旨在提供与商业插件Even Scheduler Plugin相同的功能。
以下是链接:https://wiki.jenkins-ci.org/display/JENKINS/Least+Load+Plugin
来源问题:How can I modify the Load Balancing behavior Jenkins uses to control slaves?