我的配置:
EC2 机器上的 Jenkins 配置为 Master - 1 Slave(节点)
节点有 15 个执行者
我有 1 个管道用于为不同的项目构建 android 模块。该管道的变量将从父管道传递。该管道有一个启用选项 - “不允许并发构建”。
,具有不同的模块和其他详细信息。管道可以手动运行。一般来说,所有这些管道都有阶段,它们在其中调用上面构建 Android 模块的管道。
QA 转到 UI,并同时运行例如 8 个管道。此时此刻会发生什么?正如我之前提到的,Node 有 15 个执行器,因此所有这些管道都可以运行 - 没有任何块(这很好)。然后,当任何管道进入阶段时,它将调用另一个管道 - 它会执行此操作。但是当下一个管道进入这个阶段时,他将安排运行这个管道。我们遇到一种情况,当第一个管道正在运行另一个管道时,而其他 7 个管道将等待第一个管道完成为 Android 构建模块的管道。
但是所有 7 个管道将同时调用管道以相同的构建号构建 Android 模块 - 这不是预期的行为。我需要所有这 7 个管道都将一一运行,并且用于构建 Android 模块的管道将执行良好,因为我从父管道向它传递了不同的变量。
也许过去有人遇到过同样的问题??
如何解决这个问题?