我可以在不停止从节点的情况下重新启动Jenkins主节点吗?工作?

时间:2015-04-28 09:12:58

标签: jenkins

我在奴隶节点工作非常重要且工作量很长,主节点没有工作。 在这种情况下,我需要重新配置和更新插件。

(实际上有很多长期工作(需要超过一小时,但这些工作必须在5分钟内重新开始。)

我是否可以在不停止从属节点的情况下重启Jenkins主节点'工作?

3 个答案:

答案 0 :(得分:0)

看起来这个问题类似于How reboot Jenkins with running build queue?,如上所述,可以考虑使用安全重启插件

答案 1 :(得分:0)

Jenkins架构不允许这样做,并且在Jenkins中添加对此的支持几乎是不可能的。

如果这对您来说非常重要,那么您应该寻找允许这种情况的其他CI解决方案。

我知道它唯一能做到的就是GitLab CI。如果我记得很好,一旦将作业分配给节点/从站,它将在其上运行,您可以重新启动主站,而不会影响从站或作业。

值得一提的是GitLab CI与Travis CI相似,可能只支持Jenkins可以做的10%,但这并不意味着你需要的不仅仅是这个。

答案 2 :(得分:0)

我完全按照OP的要求进行了操作,结果是所有后续作业都在sh步骤上挂了5分钟,然后出现此错误:

items

有人知道这是什么吗?耐用任务插件的目的似乎是使Jenkins能够监视Jenkins外部长时间运行的任务。阅读这篇文章,我相信这是詹金斯如何管理奴隶及其工作的关键部分。也许当我重新启动Jenkins主服务器时重新启动一直在运行下游作业的Jenkins从服务器,将解决持久任务问题。

但是没有运气-重新启动主服务器和从服务器后,我仍然收到上述相同的“进程显然从未启动”错误。有谁知道这个问题的原因,或者知道解决方案?

更新:我们的问题原来是Jenkins全局属性中的一个空环境变量,而与它的主控重新启动时运行的从属作业无关。 This issue是我们的原因,只有在启用LAUNCH_DIAGNOSTICS java arg后才明显,这导致更多输出显示先前的静默错误(将空环境变量传递给docker调用),这导致我们成为根本原因。