在Jenkins中,我可以通过配置执行程序的数量来同时运行多个作业。但是,我有一个使用大量内存的作业,因此每当该作业运行时,我都不希望其他作业运行。我怎么能这样做?
我已经尝试过Throttle Concurrent Builds插件,但似乎插件只会限制项目本身的并发性,而不是其他项目的并发性。
我见过锁插件,但是我不能使用它,因为我希望作业同时执行(为了最大化CPU利用率),除了当一个额外的内存 - 重要的工作正在运行。
所以我真正想要的是设置"并发权重"一份工作每当该作业运行时,我都希望Jenkins保留X执行器,其中X是我设置的权重。
有办法做到这一点吗?
答案 0 :(得分:2)
我解决这个问题的方法是使用Heavy Job插件:
https://wiki.jenkins-ci.org/display/JENKINS/Heavy+Job+Plugin
赋予“高记忆”作业相同权重与执行者相同,这意味着当“高记忆”作业被安排时,它将等到该执行者数量可用(所有在这种情况下,所以没有其他工作正在运行)然后消耗所有执行程序就像它做的那样 - 确保其他工作不能同时在该框上运行< /强>