相关疑难解决方法(0)

如何防止某些Jenkins作业同时运行?

我有几个使用共享资源(数据库)的作业,有时可能导致构建在(罕见)事件中失败,即同时触发作业.

例如,给定作业A到E,是否有任何方法可以指定A和C 不应该同时运行

除了上述资源之外,构建彼此独立(不是例如在上游/下游关系中).

"暴力"方式将执行器的数量限制为一个,但如果大多数作业可以同时执行并且构建服务器上不缺乏计算资源,那么这显然不太理想.

hudson jenkins

62
推荐指数
3
解决办法
5万
查看次数

从另一个作业禁用Jenkins作业

詹金斯(哈德森)有办法禁止从另一份工作中找到工作吗?

基本上我们有一个构建环境,可以进行标准构建/测试.我们还使用相同的Jenkins实例来执行其他一些操作,例如自动安装我们产品的新版本(这是某些自动化测试所需的).当我们运行一些"额外"作业时,我们希望暂时禁用"标准"作业(然后在以后自动启用它们).

理想情况下,在作业上会有一些额外的构建步骤来说"禁用XYZ作业".或者,如果有通过ANT或某种方式告诉Jenkins禁用某个工作,那也可以.

更新: 看起来有几个插件会阻止两个作业同时运行,但我真的需要:

  1. 运行作业A,禁用作业1
  2. 根据作业A的输出,在Jenkins之外做一些事情
  3. 运行作业B,再次启用作业1

jenkins

11
推荐指数
2
解决办法
2万
查看次数

Jenkins不允许同一个作业在同一个节点上同时运行?

我有4个节点和2个作业.任何节点可以同时运行2个作业,并且可以同时执行任何作业.我希望能够限制在同一台机器上同时运行相同的作业.例如:

作业:J1和J2节点:N1,N2,N3和N4

我可以在同一个节点上同时运行J1和J2.我可以同时在N1和N3上运行J1.但我不想同时在同一节点上运行J1和另一个J1版本.

我尝试过"Locks and Latches","Jenkins Exclusive Execution","Exclusion Plugin"插件,这些在尝试协调不同的工作时效果很好.但我的情况是尝试管理同一工作的不同构建实例.

jenkins

9
推荐指数
2
解决办法
1万
查看次数

如何确保Hudson中只有一种类型的作业同时运行?

我使用Hudson自动测试一个非常大的重要产品.我想让我的测试主机能够运行尽可能多的并发构建,因为它们理论上会支持,除了excel-tests,它必须在每台机器上随时运行一个.任何数量的非excel测试都可以同时运行,但每台机器最多只能运行一次excel测试.

背景:

我的大多数测试都是正常的单元测试 - 我可以轻松地并行运行.遗憾的是,我的单元测试计划中的一个实质性且耗时的部分包括已在Excel中实现的测试.

您可能认为在Excel中实施测试很疯狂 - 实际上有一个重要原因:我们的大多数用户通过Excel访问我们的系统.Excel有自己古怪的数据处理方式,所以保证我们的东西适用于Excel用户的唯一方法就是逐字实现我们的Excel应用程序的注册测试.

我编写了一个测试运行工具,它允许我轻松地启动一组excel测试:每个测试都是一个.xls文件.每个组都是一个充满excel文件的文件夹.我有大约30个小组需要运行进行端到端测试.我的工具将每个测试的结果转换为Hudson能够理解的JUnit样式XML.测试使用pywin32com库来自动化excel.当他们自己运行时,他们是可靠的.

我有一组专门用于运行测试的计算机.每台机器都是四核的,理论上可以同时运行很多东西.不幸的是,我发现COM不能用于一次安全地控制每台机器超过1个excel.

也就是说,如果第二个构建星试图通过COM与Excel通信它可能会干扰已经运行的那个并导致两个测试都失败.

我可以运行许多其他非excel进程,因为机器将允许但我需要找到一种方法,以便Hudson不会尝试启动任何超过1个进程,这需要同时在任何一台机器上excel.

hudson

5
推荐指数
1
解决办法
4369
查看次数

Jenkins:为这个组分组作业并限制构建处理器

我们正在为詹金斯提供大量工作.目前,这些工作是通过使用"主要工作"进行分组的.这些只会启动一个组的所有工作.但是,如果其中一个主作业运行,它一次启动大约10个其他作业.根据这些作业的持续时间和构建过程的数量(当前6),Jenkins被阻止了更长的时间(最多一个小时).另一方面,这些工作并不适合这种大规模的并行化.

为了解决这个问题,我正在寻找一种方法(一个插件),允许对一些作业进行分组并将它们并行启动,但是将用于该组作业的构建处理器限制为固定数量(例如2).因此,可以运行一组编译Java项目的作业,并并行安装测试数据库的另一组作业.

我尝试了Build flow插件,但它并不是正确的插件:您必须手动将作业分离到并行运行的子组,如果一个子组中的作业失效,则不会启动该组的以下作业.

那么,也许有人知道一个更适合的Jenkins插件?非常感谢提前!

坦率

jenkins

5
推荐指数
1
解决办法
3863
查看次数

标签 统计

jenkins ×4

hudson ×2