【问题标题】:Jenkins removing queued and running build on restartJenkins 删除排队并在重启时运行构建
【发布时间】:2024-05-02 03:30:01
【问题描述】:

我有一个 Jenkins 实例,我通过 API 以编程方式向该实例发送构建请求。我的服务器一天重启一次。

我观察到,当 Jenkins 服务器重新启动时,Jenkins 不会跟踪排队的作业和正在运行的作业。我们失去了那些要触发的工作。

我还想以编程方式监控排队的构建是否实际执行。但是当我们重新启动 Jenkins 时,队列 ids 会从 1 开始。

是否有任何可用的方法 [任何插件] 可以持久化排队的构建并在重新启动后以与排队相同的顺序继续执行? 还想继续重新启动之前所在的队列。

【问题讨论】:

  • 根据您执行 Jenkins 重启的方式,通过http://your_jenkins_url/safeRestart 访问“安全重启”应该仅在没有更多作业运行时重启。

标签: api jenkins jenkins-plugins


【解决方案1】:

根据 thisthis 的说法,/safeRestart 应该足以满足您的需求。

或者您可以使用 Naginator 插件重新启动失败(由于 Jenkins 宕机)构建

【讨论】:

  • 谢谢! /safeRestart 正在完成运行作业后重新启动 Jenkins,但我们仍然无法恢复排队的作业。这也用于手动重启 Jenkins,但在可能的情况下服务器本身会按计划重启
  • 尝试运行wiki.jenkins-ci.org/display/JENKINS/…,也许它确实可以满足您的需求。