首页 > 解决方案 > 为什么要构建执行器状态,显示一个管道作业的两个作业?

问题描述

我正在使用 groovy 管道脚本进行构建作业,所以在 jenkins 管道中就像,

node
{
  git url : 'myurl.git'
  load 'mydir/myfile.groovy'
}

它的工作正常如预期。但在构建执行器状态下,它显示为两个正在运行的作业。

标签: jenkinsjenkins-pipeline

解决方案


我找不到比这个 README更好的文档来源(问题JENKINS-35710也有一些信息),但不足之处是 Groovy 管道在 master 上执行(在 flyweight 执行器上),而node块在分配的执行器上运行。

这是取自链接文档的相关片段:

[...]

为什么一个 Pipeline 构建会消耗两个 executor?

  • 每个 Pipeline 构建本身都在 master 上运行,使用 flyweight executor——一个不计其数的 slot,假定它不会占用任何显着的计算能力。

  • 这个执行器代表实际的 Groovy 脚本,它几乎总是空闲的,等待一个步骤完成。

  • 享元执行器始终可用。


推荐阅读