詹金斯管道恢复但没有任何反应

Jenkins pipeline resumes but nothing happens

我们有一个包含多个阶段的 Jenkins 管道(管道即代码)。其中一个阶段创建约 40-50 个下游作业并以并行步骤启动它们。 不幸的是,我们的 jenkins master 每晚都会重启。重新启动后,队列中的每个作业都将丢失,并且当前 运行 个下游作业因错误而停止。 重新连接子节点后,管道处于恢复状态(=> 控制台输出:恢复构建)但没有任何反应。

现在我有以下问题:

只需在流程中使用的每个作业中选择 "don't not allow the pipeline to resume if the master restarts"。在这种情况下,这个问题不会发生(恢复状态)。

options {
  disableResume()
}

作为恢复的解决方案 - 使用一些 "queue" 检查器。例如:

  1. 为每个构建请求在某个文件夹中创建一个名为 json/yaml 的唯一命名文件(要启动的构建配置),您的主要工作将检查文件是否存在。
  2. 如果找到这样的文件 - 启动主要作业(使用配置 "not allow concurrent builds")。为作业设置一些超时
  3. 主作业启动结束 - 删除文件...

或者在 AWS 中使用一些 SQS 队列...