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

如何手动重新启动?


当前回答

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

使用shell/批处理步骤创建作业,该步骤将触发Jenkins安装文件夹的重新启动在检查“安装后重新启动”时安装/更新某些插件(至少在旧版本中可以使用)

以上两个都是黑客,但我在一个非常有限的环境中积极使用它们,没有人希望我重新启动Jenkins,嗯。

其他回答

有几个人提到,如果Jenkins没有作为独立运行,则需要重新启动servlet容器。但Tomcat(或正在使用的)不需要重新启动。如果Jenkins重启被挂起,Tomcat可以强制重启Jenkins上下文。

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

另一种方法是等待最后一个运行的作业完成,然后从容器中手动切换Jenkins(或者通过其他人提到的独立Jenkins安装的命令行选项)。

使用命令行界面:

java -jar jenkins-cli.jar -s http://jenkins.example.com:8080/ -i /root/.ssh/id_rsa safe-restart

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

作为服务:sudo服务jenkins restart、sudo/etc/init.d/jenkins restart等。作为Tomcat安装中的web应用程序:重新启动Tomcat,或者只需在Tomcat中重新启动应用程序。转到http://<tomcat服务器>:8080/manager/list或在身份验证命中http://<tomcat-server>:8080/2manager/stop后?path=/myapp+http://<tomcat服务器>:8080/manager/start?path=/myapp。只使用java-jar启动:杀死它(kill-9<pid>),然后重新启动它。使用java-jar启动,但来自监督者:supervisorctl restart jenkins

CentOS:

sudo systemctl restart jenkins

sudo systemctl status Jenkins

詹金斯将活跃起来,并在一些PID上运行。

JenkinURL/restart将执行重新启动。


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