如何安全关闭我的Jenkins?


76

我在自己的容器中运行Jenkins。我使用命令“ nohup java -jar jenkins.war --httpsPort = 8443”。

如何安全关闭它?现在,我使用kill命令杀死该进程。


请定义“安全”的含义。您是说詹金斯(Jenkins)在构建过程中不会关闭吗?还是仅仅是Jenkins干净地关闭而不破坏任何配置文件?
sti 2012年

两者都没有关闭,如果它在构建过程中并且干净地关闭
user1164061 2012年


4
此页面上所有答案中缺少http://yourjenkins/quietDown。这将确保新的构建不运行,但保持现有的构建运行。此外,当你把你的詹金斯,你可能要刷新队列:github.com/jenkinsci/jenkins-scripts/blob/master/scriptler/...
迈克·d

Answers:



112

采用 http://[jenkins-server]/exit

此页面显示了如何使用URL命令。


URL选项http:// [jenkins-server] / [command],其中[command]可以退出shutdown jenkins restart重新启动jenkins重新加载以重新加载配置
lft93ryt

56

如果要使用Linux控制台(例如Ubuntu)在服务器上停止jenkins及其所有服务,请运行:

service jenkins start/stop/restart

当您需要制作映像/卷快照并且希望所有服务停止写入磁盘/卷时,此功能很有用。


4
该答案假设Jenkins是使用Debian或RPM软件包安装的,并非总是如此。
gareth_bowles

26
  1. jenkinsUrl / safeRestart-让您等待运行的JOBS完成并重新启动。
  2. jenkinsUrl /重启-立即重启,而无需等待当前正在运行的作业。
  3. jenkinsUrl / exit-停止/关闭JENKINS服务
  4. jenkinsUrl / reload-重新加载配置更改。

2
为什么要使它们变得安全重启,然后安全关闭而不是safeShutdown?正是这种不一致导致开发人员陷入困境(并迫使我们在StackOverflow上查找所有内容)。</ rant> FYI安全关机不再有效。
科林

24

有关命令的完整列表,请访问: http://your-jenkins/cli

干净关闭的命令是 http://your-jenkins/safe-shutdown

您可能还想使用 http://your-jenkins/safe-restart


/ safe-restart不适用于我的Jenkins安装。它带有特定版本或插件吗?
Lordalcol 2013年

4
显然,在Jenkins 1.5+版本中,有一个/ safeRestart支持的URL。
Lordalcol 2013年

7
为了安全(例如等待作业),请重新启动- http://your-jenkins/safeRestart。为了安全地退出-http://your-jenkins/safeExit
kevinmm

8

您可以安全地杀死詹金斯。它将捕获SIGTERM和SIGINT并有序关闭。但是,如果詹金斯(Jenkins)在构建某物的过程中,它将中止构建,并且它们将在状态显示中显示为灰色。

如果要避免这种情况,必须将Jenkins置于关闭模式以防止其启动新的构建,并等到当前运行的构建完成后再杀死Jenkins。

您还可以使用Jenkins命令行界面,并告诉Jenkins安全关闭,该操作相同。您可以在http:// YOURJENKINS / cli上找到有关Jenkins cli的更多信息。


...似乎如果它不能对SIGINT和SIGTERM做出响应,那么也许SIGKILL是有道理的(尽管可能不是“安全的”)。
鼠尾草


2

您也可以在init脚本区域(例如centos vi /etc/init.d/jenkins)中查找有关如何实际启动和停止服务的详细信息。


1

立即关闭Jenkins服务器。

在Windows中CMD.exe,转到文件所在的jenkins-cli.jar文件夹。

C:\Program Files (x86)\Jenkins\war\WEB-INF

使用命令安全关闭

java -jar jenkins-cli.jar -s http://localhost:8080 safe-shutdown --username "YourUsername" 
--password "YourPassword"

命令的完整列表可在http:// localhost:8080 / cli中获得

归功于Francisco发布的cli命令。

参考:

1。

希望可以帮助某人。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.