Jenkins在需要一个接一个运行时同时运行排队的作业

lrl1mhuk  于 2023-11-17  发布在  Jenkins
关注(0)|答案(1)|浏览(169)

我的配置:

  • Jenkins在EC2机器上,配置为Master - 1 Slave(节点)
  • Node有15个执行者
  • 我有1个管道用于不同项目的build android modules。此管道的变量将从父管道传递。此管 prop 有启用选项-“不允许并发构建"。
  • 我有10管道建设android .apk文件与不同的模块和其他细节.管道可以手动运行.一般来说,所有这些管道有阶段,在那里他们调用管道构建android模块以上.

问题是:
QA进入UI,并同时运行例如8个管道。此时会发生什么?正如我之前提到的,Node有15个执行器,所以所有这些管道都可以运行-没有任何阻塞(这很好)。然后,当任何管道进入阶段,它将调用另一个管道-它会这样做。但是当下一个管道进入这个阶段时,他将调度运行这个管道。我们有一个情况,当第一个管道运行另一个管道时,而其他7个管道将等待第一个管道完成为Android构建模块的管道工作。
但是,所有7个管道将调用管道构建android模块在同一时间与相同的构建号-它不期望的行为。我需要所有这7个管道将运行一个接一个,和管道构建android模块-将执行良好,因为我传递不同的变量,它从父管道。
也许有人在过去也有同样的问题?
如何解决这个问题?

ct2axkht

ct2axkht1#

如果你想让子管道按顺序启动,你需要给它们传递不同的参数。例如,你可以给子管道传递父管道的参数或者smth random,但是对于不同的管道,它需要是不同的。

相关问题