Jenkins未执行作业(挂起-等待下一个执行者)

Jenkins未执行作业(挂起-等待下一个执行者),jenkins,Jenkins,詹金斯不会执行任何工作。查看之后,我禁用了所有从属节点,但一个简单的作业甚至不会在主节点上运行 怎么了?即使主节点离线,Jenkins管理控制台也可以运行。当Jenkins的磁盘空间用完时,可能会发生这种情况 要确认,请执行以下操作(感谢geekride-jenkins等待下一位可用的执行人): 转到Jenkins->管理Jenkins->管理节点 检查“主”节点是否处于脱机状态。它可能报告主节点磁盘空间不足 我遇到了类似的问题,因为我的主人被设置为“将这台机器只用于捆绑作业”。因此,即使我禁

詹金斯不会执行任何工作。查看之后,我禁用了所有从属节点,但一个简单的作业甚至不会在主节点上运行


怎么了?

即使主节点离线,Jenkins管理控制台也可以运行。当Jenkins的磁盘空间用完时,可能会发生这种情况

要确认,请执行以下操作(感谢geekride-jenkins等待下一位可用的执行人):

  • 转到Jenkins->管理Jenkins->管理节点
  • 检查“主”节点是否处于脱机状态。它可能报告主节点磁盘空间不足

我遇到了类似的问题,因为我的主人被设置为“将这台机器只用于捆绑作业”。因此,即使我禁用了奴隶,詹金斯还是继续绕过主人,寻找其他东西


转到Jenkins-->管理Jenkins-->管理节点,然后单击主节点的配置按钮(看起来像螺丝刀和扳手)。检查使用情况并确保其处于“尽可能多地利用此从机”状态。

我玩游戏有点晚了,但这可能会帮助其他人

在我的例子中,我的jenkins master有一个共享的外部资源,由分配给jenkins作业。由于插件中的错误(测试版),我发现我的资源被前一个作业锁定,但在前一个作业取消时没有解锁

要了解资源当前是否处于锁定状态,请导航到受影响的jenkins节点,jenkins->Manage jenkins->Manage Nodes->master

您应该看到任何外部资源的当前状态。如果出现意外锁定,这可能是作业等待执行者的原因

我找不到有关如何手动解决此问题的任何详细信息
重新启动jenkins并没有解决问题
最后,我采取了残酷的做法:

  • 删除外部资源
    (请参见Jenkins->管理Jenkins->管理节点->主节点->配置)
  • 重新启动詹金斯
  • 重新创建外部资源

    • 什么对我有效:我终于注意到Jenkins主仪表板左侧的Build Executor Status窗口。我在本地系统上用2个执行器运行一个dev/test实例。两者当前都被未运行的生成占用。取消这些作业后,我的第三个(待定)作业能够运行。

      对于我来说,我必须手动重新启动执行器。单击“Build Executor Status”下的“Dead”并按下重新启动按钮。

      在我的例子中,我注意到当盒子内存不足(RAM)时出现这种行为 我转到Jenkins->管理Jenkins->管理节点,发现内存不足异常。
      我刚释放了计算机上的一些内存,作业开始进入执行器。

      我遇到了类似的问题,因为我的主程序设置为executor的“\(Jenkins可能在该代理上执行的最大并发构建数)

      转到Jenkins-->管理Jenkins-->管理节点,然后单击主节点的配置按钮(增加一次运行多个作业的执行器数量)。

      • 转到Jenkins->管理Jenkins->管理节点
      • 审视“主人” 节点。(单击配置图标)
      在我的情况下,执行者的数量设置为0。
      增加了它,问题得到了解决。

      下面的解决方案对我有效

      詹金斯-->管理詹金斯-->管理节点-->主节点-->配置--> 节点属性-->在节点上限制作业执行已启用,并授予特定用户访问权限。我已授予自己访问权限,然后作业开始运行


      如果启用了限制节点上的作业执行,则计划任务无法运行。

      在我的情况下,我在文件中设置了以下内容

      节点(“节点”){
      ...
      }


      没有名为“node”的节点,只有master(在完成一些基本教程后,该值已留在那里)。将该值更改为“master”后,生成工作正常。

      在我的情况下,我刚刚安装了“Authorize Project”插件,并在“Authorize Project”中错误地设置了策略管理Jenkins->Configure Global Security->Access Control for Builds“作为匿名运行”。因此“匿名”无权执行作业


      将第一个策略设置为“以触发构建的用户的身份运行”将解锁排队的作业。

      在我的情况下,这类似于@Michael Easter:由于磁盘空间不足,我在作业中遇到问题。我清除了一些空间,重新启动了Jenkins,但问题仍然存在


      解决方案是转到Jenkins->Manage Jenkins->Manage Nodes,只需单击按钮即可更新状态。

      在我的例子中,这是由于执行者的数量(我有1个)和从管道运行Jenkins作业(项目)(我的管道脚本在Jenkins中启动了其他作业)。它导致了死锁
      -我的管道占用了执行器并正在等待其作业,但该作业正在等待自由执行器

      解决方案可能是在
      Jenkins->Manage Jenkins->Manage Nodes->Configure(所需节点上的图标)
      中增加执行者的
      简短回答:
      杀死主机上运行的所有作业

      在我的例子中,有3个作业挂在主机上超过10天,没有人注意到。我们通常不直接在主机上运行任何作业,一切都在从机上运行。我杀死了挂起的这3个作业,从机上的执行者自动开始拾取作业

      请注意,尽管我们有8个从机,但只有1个从机处于此受影响状态

      [编辑]我们找到了为什么只有一个从机处于此受影响状态的答案。 当Jenkins从机停机时,所有挂起的作业都会自动转移到主机。我杀死的所有3个挂起的作业都来自该从机,因此这可能是主机和该特定从机之间的连接问题。

      在我的情况下,我必须
        agent {
          docker {
              image 'bitnami/mongodb:latest'
              reuseNode true
          }
        }