一尘不染

如何跨多个拉取请求并行运行持续集成?

jenkins

我正在通过Github Pull Request Builder插件测试Jenkins的使用。我已经在Github上成功建立了一个玩具项目,并在Jenkins上进行了开发安装,以便提高PR或将更改推送到PR分支都可以触发构建。通常,这可以按要求工作-
某些事情与首选工作流不匹配,但是不必编写和维护我们自己的插件非常重要。

我有一个潜在的突破者。该插件将其看到的所有PR中的所有推送排队,并且即使有可用的备用执行器,似乎也一次只能运行一个作业。在现实世界的项目中,我们可能有10个活动PR,每个PR可能会在一天之内得到一些推送更新以响应QC注释,并且整个CI运行需要30分钟以上。但是,我们确实提供了足够的构建执行程序来同时运行多个作业。

我看不到任何方法可以配置PR请求生成器以在同一触发器上一次处理多个作业,但是我可能缺少Jenkins其他地方的基本功能。有没有一种方法,而无需自定义插件?

我已经安装了詹金斯版。在新的Ubuntu
14.04服务器(在VirtualBox来宾上)上安装1.649,并遵循ghprb插件(当前版本1.30.5)中的自述文件,包括在Github上设置一个jenkins“
bot”帐户作为协作者来运行所有集成API调用到Github。

我想知道如果克隆该作业(创建新项目并“复制现有项目”),然后又可以尝试该行为会是什么,但我希望这将导致
一份作业多次运行而无济于事与其他轮询相同PR的作业进行智能交互。


阅读 307

收藏
2020-07-25

共1个答案

一尘不染

我在探索更多问题的同时找到了配置设置。

当您知道它是哪个配置项时,这确实很容易,但是Jenkins有很多配置需要完成,尤其是在探索插件时。

关键是,并行服务队列作业的选项(可用的执行程序允许)是核心Jenkins配置,而不是Github PR构建器的一部分。

因此, 如有必要 ,只需选中 执行并发构建
选项。此选项应该在配置的第一个无标题部分的底部找到。这是一个非常基本的詹金斯选择,由于其他选择过多,像我这样的新手错过了。

2020-07-25