我们正在为詹金斯(Jenkins)经营很多工作。目前,这些作业通过使用“主作业”进行了分组。这些仅执行一组的所有工作。但是,如果运行这些主作业之一,它将同时启动约10个其他作业。根据这些工作的持续时间和构建处理器的数量(目前为6个),Jenkins被阻止了更长的时间(最多一个小时)。另一件事是,这些作业实际上并不适合进行如此大规模的并行化。
为了解决这个问题,我正在寻找一种方法(一个插件),该方法可以对一些作业进行分组并并行启动,但是将用于该组作业的构建处理器限制为固定数量(例如2个)。因此,可以运行一组编译Java项目的作业,并并行执行另一组安装测试数据库的作业。
我尝试了Build flow插件,但这并不是一个正确的插件:您必须手动将作业分离为并行运行的子组,并且如果一个子组中的一项作业失败,则该组中的以下作业不会启动。
因此,也许有人知道一个更合适的Jenkins插件?在此先多谢!
坦率
油门并发构建插件
我要求允许在单个从节点的单个Jenkins作业中进行并发构建。 因此,我启用了throttle concurrent build选项,并发布了我能够进行并发构建的帖子。但是,如果我给MaxNo of concurrent builds 7或大于7,那么它总是一次处理6个构建,第7个构建处于等待状态。 在这种情况下有没有限制?
问题内容: 我想要一个可以通过作业名称卷曲的jenkins build / CI作业的API。jenkins是否有可用的此类API? 问题答案: 2小时前,我在这里发布了使用Jenkins REST API和Curl的解决方案:使用批处理脚本开始Jenkins构建 这是curl命令的示例(对于带有参数的作业): 和没有参数的工作: 如果您不想使用用户名/密码,则可以为您的Jenkins用户生成一个
我试图从流水线步骤中运行一个job-dsl脚本。一般来说,这应该是可能的,正如这里所描述的,在管道步骤中添加了以下代码片段: null 我如何知道脚本的真实位置,以及如何指定一个jobDsl作为目标,它本身位于不同的repo中?还是我完全走错了方向? 编辑 经过进一步的研究,共享库存储库被签出到“真实”工作区旁边的一个目录中,后缀为@libs,这似乎是事实。所以我认为使用以下方法是个好主意: 与此
问题内容: 我刚加入一家使用批处理文件构建C ++项目的公司。该批处理可以完成所有事情(更新svn,现在由jenkins完成),创建构建文件夹,在构建后删除不必要的文件,将库文件复制到构建文件夹等。 我的问题是,詹金斯(Jenkins)始终认为构建成功,即使失败了。发生问题时,.bat文件将创建一个名为errormake.txt的文件。我如何让詹金斯阅读该文章并将其标记为失败? 另外,有什么方法可
问题内容: 我只是为我的项目(版本2.19.4)设置了一个新的Jenkins实例。但是,当我尝试生成多个用于测试的构建时,我发现“构建历史”仅显示了一个历史构建。 升级之前,它至少显示两个或更多。在詹金斯(Jenkins)中有什么地方可以设定应显示的历史建筑数量? 问题答案: 在作业配置页面中,您可以设置要在历史记录中维护的历史版本的数量。您可能已将其设置为0。如果您对该作业具有管理员权限,则应该
问题内容: 我正在使用Pipeline插件运行Jenkins 2。我已经建立了一个多分支管道项目,其中每个分支(主分支,开发分支等)的根目录都有一个Jenkinsfile。设置起来很简单。但是,即使代码没有更改,如何使每个分支定期运行(而不是分支索引)也让我迷惑不解。我需要在Jenkinsfile中添加什么以启用定期构建? 问题答案: 如果您使用声明式样式Pipeline并且只想触发特定分支上的构