【问题标题】:How can I set a concurrency "weight" in Jenkins?如何在 Jenkins 中设置并发“权重”?
【发布时间】:2014-07-25 22:42:20
【问题描述】:

在 Jenkins 中,我可以通过配置执行器的数量同时运行多个作业。但是,我有一项使用大量内存的作业,因此每当该作业运行时,我都不希望其他作业在运行。我该怎么做?

我已经尝试过 Throttle Concurrent Builds 插件,但该插件似乎只限制项目本身的并发,而不是 其他 项目的并发。

我见过锁插件,但我不能使用它,因为我希望作业同时执行(以最大化 CPU 利用率),除了当那个额外的内存很重时作业正在运行。

所以我真正想要的是设置作业的“并发权重”。每当该作业运行时,我希望 Jenkins 保留 X 个执行器,其中 X 是我设置的权重。

有没有办法做到这一点?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    我解决这个问题的方法是使用 Heavy Job 插件:

    https://wiki.jenkins-ci.org/display/JENKINS/Heavy+Job+Plugin

    赋予“高内存”作业与执行器相同的权重,这意味着当“高内存”作业被调度时,它将等到该数量的执行器可用(所有其中,在这种情况下,没有其他作业正在运行),然后消耗所有执行程序,因为它是这样的 - 确保 没有其他作业可以同时在该盒子上运行。

    【讨论】:

    • 完美!正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-30
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多