具有并行构建的 Jenkins

Posted

技术标签:

【中文标题】具有并行构建的 Jenkins【英文标题】:Jenkins with Parallel Builds 【发布时间】:2013-11-15 14:56:23 【问题描述】:

我有一个小型 Jenkins VM 正在为我们的商店运行,它会时刻关注十几个 github 项目。它目前配置了 3 个执行器(它只是一个 4-cpu 的虚拟机),并且运行愉快。

但是,其中 2 个项目非常大(90 分钟的编译和测试周期)。在工作站上,我们通常使用“make -j6”或 Ninja 来加快速度,而且效果非常好。我想在 Jenkins 上执行此操作,但我找不到让单个作业消耗多个执行器的方法。

我想要的是能够配置多个 Executor 来分配给一个作业,这样我就不会同时运行这两个怪物作业,但仍然保留所有其他较小的作业每个都有一个执行器,以便它们可以并行运行。

有什么想法吗?

【问题讨论】:

有插件可以防止两个作业同时运行。其中一个是锁和闩锁插件,另一个是关键部分插件。 我看过这些,但我真的想要更多的灵活性。最终我希望拥有更大的虚拟机或更多的工作,我希望拥有一些工作的能力只消耗一半执行者,其余的则留给微小的工作。简单地限制“不要同时运行 A 和 B”似乎还不够,我需要类似“不要运行 A,除非有 >3 个打开的执行程序,然后将它们都标记为忙” 【参考方案1】:

我为你浏览了Jenkins Plugin page,找到了Heavy Job Plugin。正是你想要的

【讨论】:

以上是关于具有并行构建的 Jenkins的主要内容,如果未能解决你的问题,请参考以下文章

jenkinsjenkins 持续集成本地项目(win)

JenkinsJenkins自动化部署笔记

JenkinsJenkins自动化部署笔记

具有并行处理的动画线图

Visual Studio中的c ++并行构建行为[重复]

如何使用Spark大规模并行构建索引