如何手动重启Jenkins?


816

我刚刚开始与詹金斯一起工作,遇到了一个问题。在安装了几个插件之后,它表示需要重新启动并进入“关闭”模式,但是从不重新启动。

如何手动重启?


34
注意:“ Jenkins正在关闭”实际上并没有关闭,它只是通知可能要构建Jenkins即将重启的用户。
Khez

1
需要注意的一点是,我没有注意到其他任何人提到的...如果您将Jenkins置于关闭模式,则实际上并没有关闭,这已经提到过了。没有注意到的是它停止了新版本的启动。如果需要在重新启动之前完成构建,则应将Jenkins置于关闭模式,完成构建,然后使用上面选择的任何方法进行“重新启动”。
TheRedSeth 2014年

由于版本1.442 Jenkins 不需要安装新的插件后重新启动,因此请使用“安装而不重新启动”。不幸的是,此功能不适用于更新或卸载。
luka5z

Answers:


1941

要手动重新启动Jenkins,可以使用以下任一命令(通过在浏览器中输入其URL):

(jenkins_url)/safeRestart-允许所有正在运行的作业完成。重新启动完成后,新作业将保留在队列中以运行。

(jenkins_url)/restart -强制重启,而无需等待构建完成。


14
有关安全重启的信息,请参见stackoverflow.com/a/15555339/260122 java -jar /var/cache/jenkins/war/WEB-INF/jenkins-cli.jar -s http://localhost:8080/ safe-restart(如果通过rpm或deb安装,否则进行相应调整)。
clacke

13
这会RestartNotSupportedException在詹金斯1.532.1和IcedTea 2.3.9中引起错误。sudo /etc/init.d/jenkins restart虽然为我工作。
Matthias Braun 2014年

4
在Windows中,请使用Windows服务而不是命令行。
马格

8
jenkins是否有任何内部链接来执行此操作,而不是记住魔术URL?
rogerdpack

5
Web GUI中不可用吗?
realtebo

182

如果您以rpmdeb的形式安装,则service jenkins restart也可以使用。


115

在Ubuntu或Debian上,通过apt-get/ 安装时dpkg

$ sudo /etc/init.d/jenkins restart
Usage: /etc/init.d/jenkins {start|stop|status|restart|force-reload}

1
https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance-说要点:不要启动方法start | stop |手动重启$ sudo /etc/init.d/jenkins start | stop | restart,因为它使您的服务不可靠,因为它从根用户那里获取环境,而不是由初始化启动器设置的干净可靠的空白环境(service / systemctl )。
battey


70

以下命令在Red Hat Linux中对我有用,在Ubuntu中也应使用。

  • 要知道詹金斯的状态:

    sudo service jenkins status
    
  • 要启动詹金斯人:

    sudo service jenkins start
    
  • 要停止詹金斯人:

    sudo service jenkins stop
    
  • 要重新启动詹金斯:

    sudo service jenkins restart
    

演示在命令提示符下:

[root@varunHome]# sudo service jenkins status
jenkins (pid  7468) is running...

[root@varunHome]# sudo service jenkins stop
Shutting down Jenkins               [  OK  ]

[root@varunHome]# sudo service jenkins start
Starting Jenkins                    [  OK  ]

[root@varunHome]# sudo service jenkins restart
Shutting down Jenkins               [  OK  ]

Starting Jenkins                    [  OK  ]
[root@varunHome]#

使用窗户的人

打开控制台/命令行->转到您的Jenkins安装目录。分别执行以下命令:

To stop:
jenkins.exe stop

To start:
jenkins.exe start

To restart:
jenkins.exe restart


37

在Windows中,如果你安装它作为一个服务,请访问服务(开始运行services.msc),发现詹金斯,右键→ 重新启动

如果这样做没有帮助(UI没有响应),请打开Windows任务管理器→ 进程,终止该java.exe进程,然后再次重新启动该服务。


7
尝试在Windows上到达/ safeRestart将导致:javax.servlet.ServletException:hudson.lifecycle.RestartNotSupportedException:默认Windows生命周期不支持重启。
x29a 2014年

1
如果/safeRestart不可用,请/safeExit在手动重新启动之前使用。
Jesse Glick

19

如果您在Mac OS X上运行Jenkins,则可以通过执行以下命令来手动停止该服务:

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

1
您可以重新使用load
kraftydevil

17

这也可以使用Jenkins CLI来完成:

java -jar jenkins-cli.jar -s http://[jenkins-server]/ restart

jenkins-cli.jar文件以及完整的命令列表可在访问http://[jenkins-server]/cli


12

如果您只想重新加载配置文件,则可以

    <jenkins_url>/reload

如果您在配置文件中进行了一些小更改,例如config.xml直接在文件系统中进行更改,或者通过文件系统(而不是通过浏览器)对作业进行了复制,则这样做会更快。


10

这取决于詹金斯是如何开始的。

  • 作为服务:sudo service jenkins restartsudo /etc/init.d/jenkins restart等等。

  • 作为Tomcat安装中的Web应用程序:重新启动Tomcat,或仅在Tomcat中重新启动应用程序。转到http://<tomcat-server>:8080/manager/list认证后或点击http://<tomcat-server>:8080/manager/stop?path=/myapp+ http://<tomcat-server>:8080/manager/start?path=/myapp

  • 刚启动时java -jar:杀死它(kill -9 <pid>),然后重新启动它。

  • 由发起java -jar,但由主管发起:supervisorctl restart jenkins


只要选择您用例的好答案!
user43968 '18



8

有时会有一些过时的詹金斯进程,所以ps -ef | grep jenkins杀死所有进程。按照前面的答案中所述重新启动,它将很干净。

ps -ef | grep jenkins
sudo kill -kill <pid>


5

如果你能访问它在Web浏览器,只需添加/restart,例如,localhost:8080/restart

如果您将其作为服务运行,则登录到服务器并执行以下命令:

sudo service jenkins stop/start

4

要使用浏览器手动重启Jenkins:

在浏览器中输入您的www.jenkins-ip/restart (例如http://localhost:8080/restart)。Jenkins将重新启动并在重新启动后自动加载登录页面。


3

JenkinURL / restart将重新启动。


/usr/local/etc/rc.d/jenkins restart

但是/usr/local/etc/rc.d/jenkin不是URL(?)。你能详细说明吗?
彼得·莫滕森

3

对于Mac

停止詹金斯

sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

开始詹金斯

sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plist

3

从终端:

sudo service jenkins restart

或者jenkinsurl/restart


3

一些人提到如果Jenkins不能独立运行,则需要重新启动servlet容器。但是Tomcat(或正在使用的内容)不需要重新启动。如果您的Jenkins重新启动已挂起,则Tomcat可以强制重新启动Jenkins上下文。

但是要解决另一条评论,当您将Jenkins置于“关闭”模式时,它实际上不会关闭。它停止执行新作业,并在系统页面上放置一个红色大横幅,因此每个人都知道管理员最终希望将其删除。在所有构建完成之后,有一些插件可以触发该上下文的servlet容器重启。

另一种选择是等到最后一个正在运行的作业完成,然后从容器中手动踢出Jenkins(或通过其他人提到的用于独立Jenkins安装的命令行选项)。


3

如果将其部署为war文件,则重新启动应用程序服务器,例如Tomcat。



2

如果它在Docker容器中,则只需重新启动容器即可。假设容器名称为jenkins,那么您可以执行以下操作:

docker restart jenkins

要么

docker stop jenkins
docker start jenkins

重要!在docker上-Jenkins数据必须是持久性的(您可能会丢失正在运行的作业,资源,构建,数据等)。因此,请谨慎使用,最好不要使用“ restart”,而应在docker image上使用stop and start。解决方案是:sudo docker ps-> sudo docker stop <dockerImageID>-> sudo docker start <dockerImageID>
avivamg

2

您有很多选项可以手动重新启动Jenkins,但主要有两个选项(URL或命令行):

  • 备选方案1:使用Jenkins安装URL:

    Jenkins_URL/restart

    示例:http//jenkinsserver.com/restart

    这种类型的重新启动会强制重新启动,而无需等待构建完成。

    如果您需要等待作业的结局,可以使用:

    Jenkins_URL/safeRestart

    示例:http//jenkinsserver.com/safeRestart

  • 备选方案2:根据您的Jenkins安装情况,使用命令行。

    • 如果使用rpmdeb软件包进行安装,或者在Red HatUbuntuDebian中安装了Jenkins ,则可以使用以下命令:

    • sudo service jenkins restart

      这一步就重新启动了Jenkins。

    • sudo service jenkins stop并且sudo service jenkins start

      这让詹金斯在两个陡峭的山丘中重新开始。

      注意:如果需要检查Jenkins的状态,可以使用以下命令: sudo service jenkins status

    • 如果您使用的是CentOS,则可以使用以下命令:

      sudo systemctl restart jenkins
      

      注意:如果需要检查Jenkins的状态,可以使用以下命令: sudo systemctl status Jenkins





1

如果没有任何效果,请通过以下方式找到詹金斯进程

ps aux | grep java

然后杀死它:

kill -9 [PID]

sudo service jenkins start

编辑:寻找与詹金斯有关的java进程


4
仅搜索Java进程非常危险,您不觉得吗?一个人应该grep的一些詹金斯特定的imo。
蒂姆·布斯(TimBüthe)2015年

0

如果您没有权限或无法直接访问命令行,则可以执行以下任一操作:

  1. 使用shell / batch步骤创建一个作业,该作业将触发从Jenkins安装文件夹重新启动
  2. 在检查“安装后重新启动”时安装/更新一些插件(至少在旧版本中有效)

以上两种都是骇客,但我在非常受限的环境中积极使用它们,没人希望我重新启动Jenkins,呵呵。


0

如果您正在Windows计算机上将Jenkins作为服务器运行,请打开任务管理器并切换到服务选项卡。搜索Jenkins并重新启动它。

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.