【问题标题】:Restarting Hudson on Windows在 Windows 上重新启动 Hudson
【发布时间】:2023-09-26 16:28:01
【问题描述】:

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

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

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

有没有正确的方法在 windows 上重启 Hudson?

干杯

汤姆

【问题讨论】:

    标签: windows hudson restart jenkins


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 感谢彼得的建议!我将在一天结束时运行他的更新,如果它挂起,我会试一试。
      • 令人惊讶的是,自从提出这个问题以来,我已经更新了 Hudson 及其插件,并且没有遇到重启问题。我可以看到您所说的逻辑,彼得因此会将您的答案标记为已接受的答案。感谢您的帮助!
      • /restart 对我不起作用。我有一个重新启动按钮,一旦单击它,就会出现以下错误。 udson.lifecycle.RestartNotSupportedException:默认 Windows 生命周期不支持重新启动。在 hudson.lifecycle.Lifecycle$1.verifyRestartable(Lifecycle.java:83) 我没有将 Hudson 安装为 Windows 服务,因为这不是 Manage Hudson 下的选项。我在本地 Windows 7 机器上运行 1.3.98 版。
      • 如果你不在Windows下作为服务运行,我不确定重启是否有效。
      • 如果我只有对门户的管理员访问权限而不是安装它的实际框 (AIX)(作为 Tomcat 上的 webapp)并且jenkins/restart 给我同样的错误,我该如何重新启动@CACuzcatlan
      【解决方案3】:

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

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

      【讨论】:

      • 感谢您对 VonC 的回答。我实际上并没有运行任何奴隶。只是哈德森作为大师。那么你知道为什么当我点击重启按钮时它会挂起吗?
      • @Toggo:好的。那时彼得的回答可能更相关。
      最近更新 更多