我有一些项目可以分为两组。第一组是大型建筑工作,可以持续数小时,第二组是相当快速建造的应用模块
我想要做的是告诉Jenkins只从第一组构建一个任务,同时应该可以从secon,快速构建组中构建并发任务。这将允许并发组建立而无需等待长时间运行的任务完成。
这样的东西有插件吗?我尝试过Throttle Concurrent Builds,但是它从长时间运行的组中同时执行许多任务,占用了所有执行者。
答案 0 :(得分:0)
您可以将Build Blocker Plugin用于A组。因此,如果任何 group-sibilings 正在运行,则A组中的每个作业都将被阻止。这应该一次使用一个执行者来进行A组工作,并让其他执行者为B组免费
答案 1 :(得分:0)
查看Jenkins Multijob插件
https://wiki.jenkins-ci.org/display/JENKINS/Multijob+Plugin
如果您没有任何需要运行作业的订单,您可以将所有作业整合到一个"多工作阶段"。处于同一阶段的作业在不同的线程中并发运行。
如果您需要按特定顺序运行作业,您可能需要两个多作业的多工作。
如果需要,您还可以在将来创建工作流程。
答案 2 :(得分:0)
您现在可以使用可锁定资源插件来实现此目的:https://wiki.jenkins-ci.org/display/JENKINS/Lockable+Resources+Plugin
只需创建一个资源,例如“BigJobBuilder”,即每个大型作业在构建开始时锁定,并在完成后释放。只有一个大工作可以这样运行,其他人将等待当前的大工作完成。