Jenkins如何安全重启

99次阅读
没有评论

问题描述

需要在Jenkins实例上进行一些配置更改,这将涉及到多次重启Jenkins。然而,由于开发人员频繁提交代码,用户在过去三天内都没有看到Jenkins没有正在运行的作业。用户想知道是否有一种本地的方式(通过GUI或命令行)可以安全地重启Jenkins?即:在关闭之前等待当前作业完成,并在Jenkins重新启动后继续排队的作业。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

通过访问https://youjenkinsdomain/safeRestart,可以将Jenkins设置为等待作业停止然后重启的模式。

方案2

通过访问$YOUR_JENKINS_URL/updateCenter/,您将看到以下页面:
Jenkins如何安全重启
在这里,您可以勾选Restart Jenkins when installation is complete and no jobs are running,这应该是相对安全的。

方案3

您可以使用Jenkins的Rest API([jenkins_url]/safeRestart)或Jenkins CLI来执行safeRestart命令。
以下是使用Jenkins CLI执行safeRestart命令的示例:

sudo /etc/init.d/jenkins safeRestart

请注意,运行safeRestart命令时,任何在重启期间设置要执行的作业都将排队,并在服务器重新上线时执行。请确保这不会在重启时引起任何冲突!

方案4

要手动重启Jenkins,您可以使用以下命令之一(在浏览器中输入其URL):
(jenkins_url)/safeRestart – 允许所有正在运行的作业完成。新的作业将保留在队列中,在重启完成后运行。
(jenkins_url)/restart – 强制重启,而不等待构建完成。

方案5

如果您希望在插件安装时重启Jenkins,可以尝试以下建议:
– 限制对管理员模块的访问,以防止每个开发人员都能安装插件。
– 提前通知开发人员停机时间。
– 批量安装所有所需插件并重启Jenkins。
– 通知开发人员Jenkins已准备好使用。
请注意,这需要手动操作和协调,但在我们的项目中效果很好。

方案6

导航到“Plugin Manager”,然后点击“Installed”选项卡并滚动到底部。那里应该有一个按钮,上面写着“Restart Jenkins once no jobs are running”。

方案7

访问https://jenkins/safeRestart并不会等待流水线作业完全完成后再重启。它似乎会等待步骤完成并执行Jenkins重启,然后在Jenkins重新启动后继续流水线。
以上是几种安全重启Jenkins的方法,您可以根据自己的需求选择适合的方法。

正文完