在Windows上重新启动Hudson

时间:2010-09-21 11:11:24

标签: windows hudson restart jenkins

我在Windows上遇到了Hudson的问题。

每当我更新Hudson或插件时,我都会选择在没有作业运行时重新启动 如果我单击此按钮,Hudson会挂起并且不会重新启动。我已经尝试重新启动Hudson服务,但这没有帮助,所以最终不得不重启盒子以使Hudson重新上线。

我刚刚更新到最新版本,但没有点击重启按钮,它现在已经消失了。

是否有正确的方法在Windows上重启Hudson?

干杯

汤姆

3 个答案:

答案 0 :(得分:13)

我偶尔会遇到这个问题。由于某种原因,Hudson服务器没有完全关闭,启动的服务器无法使用该端口。为了解决这个问题,我运行`netstat -n -o'。通过这种方式,我可以找到保存端口的进程ID,并通过taskmanager终止该应用程序。现在我可以重新启动服务,Hudson就可以了。

过去几周我遇到了类似的问题。描述说,当没有进程正在运行时,它会重新启动应用程序。我错过了一个在构建队列中保留的作业,并且由于错误的配置从未实际构建,因此阻止Hudson重新启动。

完成所有作业并且服务器未重新启动后。只需再次访问重启页面http://server:port/restart并尝试重新启动。如果这不起作用,请停止服务并再次启动它。


<强>更新

由于我厌倦了物理登录Hudson / Jenkins服务器,我现在使用以下命令远程运行kill。这些命令假定您使用专用用户(例如JenkinsUser)运行服务。如果另一个进程使用与服务相同的凭据运行并且可能启动java.exe,则需要运行需要在Jenkins服务器上本地执行的netstat或使用rexec(这对我来说不是一个选项)。 / p>

:: get the pid of jenkins java.exe
tasklist /S %JENKINSSERVER% /FI "IMAGENAME eq java.exe" /FI "USERNAME eq %DOMAIN\USERNAME%"

:: terminate process use pid from previous command (instead of 1234)
taskkill /S %JENKINSSERVER% /F /T /PID 1234

:: stop the Jenkins service (just in case the service is hanging)
sc \\%JENKINSSERVER% stop Jenkins

:: start the Jenkins service again
sc \\%JENKINSSERVER% start Jenkins

如果我有很多时间,我可能会创建一个脚本。

答案 1 :(得分:1)

如果Slave节点将slave.jar用作Windows服务,则该服务定义为“Automatic”。
这意味着如果连接断开,它将尝试定期联系主站。

您不应该点击服务器端的任何内容(在节点定义中)重新启动所述节点:它应该自动重新联机。

答案 2 :(得分:1)

如果您已在TomCat服务器上安装Jenkins,则另一种解决方案是简单地重新启动Apache TomCat服务。