17

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

每当我更新 Hudson 或插件时,我都可以选择在没有作业运行时重新启动。
如果我单击此按钮,Hudson 会挂起并且不会重新启动。我尝试重新启动 Hudson 服务,但这无济于事,因此最终不得不重新启动盒子以使 Hudson 重新联机。

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

有没有正确的方法在 Windows 上重新启动 Hudson?

干杯

汤姆

4

3 回答 3

13

我也时不时遇到这个问题。由于某种原因,Hudson 服务器没有完全关闭并且启动的服务器无法使用该端口。为了解决这个问题,我运行了“netstat -n -o”。这样我就可以找到持有端口的进程 ID 并通过任务管理器终止该应用程序。现在我可以重新启动服务,Hudson 就可以正常运行了。

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

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


更新:

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

:: 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

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

于 2010-09-21T15:28:57.057 回答
1

如果从节点已slave.jar用作 Windows 服务,则该服务被定义为“自动”。
这意味着如果连接已被切断,它将尝试定期与主设备联系。

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

于 2010-09-21T11:31:39.277 回答
1

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

于 2012-02-16T22:35:00.563 回答