【问题标题】:Jenkins - How to reserve an executor for (a) specific job(s)Jenkins - 如何为(a)特定工作保留执行者
【发布时间】:2017-05-25 17:09:52
【问题描述】:

我们有一个 Jenkins 服务器,有 8 个执行器和 20 个作业。其中 15 项工作大约需要 2 小时才能完成,而其余 5 项只需 15 分钟。我想保留 1 个执行器(或 2 个)仅运行这 5 个小作业,并限制其他作业在其他执行器上运行。注意:我没有任何奴隶,只有 8 个执行者在主 Jenkins 进程上。

我是 Jenkins 的新手,所以我想知道有什么办法可以做到吗?谢谢。

【问题讨论】:

    标签: jenkins jenkins-plugins


    【解决方案1】:

    据我了解,Kiddo 将 master 用于 8 个 executor。你可以做的是添加一个新的在主节点上运行的从节点,我们称之为从主节点。 IE。您将拥有具有 6 个执行程序的 master,其使用设置为尽可能多地使用,然后是 slave-master,其使用仅限于短期构建。因此,在您的服务器上,您将运行两个 jenkins 任务,一个是 jenkins master 它自己,两个是 slave-master。

    有关如何连接从站的信息,请转到https://wiki.jenkins-ci.org/display/JENKINS/Distributed+builds

    【讨论】:

    • 是的,这应该足以满足 OP 的需要。
    • 谢谢,那我需要添加一个奴隶。好像没有别的选择了。
    • 然而,这会导致一些问题,因为我们正在使用 selenium 运行 UI 测试,某些元素不可见或无法使用此方法启动浏览器。当我删除奴隶主时它工作正常。感谢您的建议。
    【解决方案2】:

    添加到@StephenKing 答案,您还必须在配置时specify the label name for each job,如下图所示:

    【讨论】:

    • 感谢您提供更准确的信息。我猜,编辑现有答案可能会更容易理解;-)
    【解决方案3】:

    我有点晚了,但我认为限制可以运行多少并发“慢”作业比尝试保留执行程序要容易得多。使用 Lockable Resources 插件很容易做到这一点:https://wiki.jenkins.io/display/JENKINS/Lockable+Resources+Plugin

    只需添加与您希望允许的慢速作业数量(6 或 7 个)一样多的资源,并为它们都赋予相同的标签。修改作业配置以锁定资源(按数量为 1 的标签),然后才能执行。如果所有资源都已被锁定,则作业将一直等待,直到有一个资源被释放。

    【讨论】:

      【解决方案4】:

      在slave配置中,可以将使用模式设置为只构建标签表达式匹配本节点​​的作业

      然后,只有匹配给定标签(例如job-group-whatever)的作业才会在这个从属服务器上执行。

      【讨论】:

      • 谢谢,但我没有从服务器。我在唯一的主服务器上启用了 6 个执行器。
      • 有没有办法只在master上实现它?谢谢
      • 您在主服务器上配置所有从服务器/代理,是的。
      • @Kiddo 在主“否”上。创建slave,给他们Label并在job中指定label。
      • StephenKing 和@Arpit,我的意思是只有主人:imgur.com/I4QqxVd。没有从机。谢谢
      【解决方案5】:

      我有同样的问题。我在同一个奴隶上安装了多个代理,它工作正常。 节点远程目录应该不同。

      agent as a windows services

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-06-27
        • 2023-03-26
        • 1970-01-01
        • 2018-01-30
        • 1970-01-01
        • 2018-01-19
        • 1970-01-01
        相关资源
        最近更新 更多