我有一个管道作业,该作业恰好一次调用node(),因此我假设该作业仅消耗一个执行程序。但是,我看到每执行一次作业就会消耗2个执行程序。这项工作在某种程度上是独一无二的,因为从UI中不调用node(),UI仅调用我编写的用于初始化构建的全局管道步骤,该步骤会先调用node(),然后再调用加载步骤以加载适当的Jenkinsfile。这仍然是调用node()的唯一时间。还有什么可能会吞噬一个额外的执行器,我该如何解决呢?
答案 0 :(得分:2)
第一个执行程序(在节点块之外运行代码的执行程序)是一个轻量级的执行程序。那些执行者在大师级上运行,而不受限制。
运行在节点块内的代码是重量级执行程序的执行程序。这种类型是有限的。
flyweight执行程序只是在詹金斯内部运行的线程 主的JVM。轻量级执行器不受限制,将被创建 需要时自动执行,这与重量级执行器不同, 受限于其节点的配置。
每个管道构建本身都使用flyweight在master上运行 执行器-假定不占用任何空间的未计数插槽 强大的计算能力。