17

Windows 上の Hudson で問題が発生しています。

Hudson またはプラグインを更新するたびに、ジョブが実行されていないときに再起動するオプションが表示されます。
このボタンをクリックすると、Hudson がハングして再起動しません。Hudson サービスを再起動しようとしましたが、これは役に立たないため、最終的にボックスを再起動して Hudson をオンラインに戻す必要があります。

最新バージョンにアップデートしたばかりですが、再起動ボタンをクリックせずに消えてしまいました。

WindowsでHudsonを再起動する正しい方法はありますか?

乾杯

トム

4

3 に答える 3

13

私も時々この問題を抱えています。何らかの理由で Hudson サーバーが完全にシャットダウンせず、起動したサーバーがポートを使用できません。この問題を解決するために、「netstat -n -o」を実行します。このようにして、ポートを保持しているプロセス ID を見つけ、タスク マネージャーを介してそのアプリを強制終了できます。サービスを再起動すると、Hudson が正常に起動します。

ここ数週間、私は同様の問題を抱えていました。説明には、プロセスが実行されていないときにアプリを再起動すると書かれています。ビルド キューに保持されていた 1 つのジョブを逃しました。構成に問題があるため、実際にはビルドされず、Hudson の再起動が妨げられました。

すべてのジョブが終了し、サーバーが再起動しない場合。再起動ページhttp://server:port/restartにもう一度アクセスして、もう一度再起動してみてください。それでもうまくいかない場合は、サービスを停止して、もう一度開始してください。


アップデート:

Hudson/Jenkins サーバーに物理的にログインするのに飽きてきたので、次のコマンドを使用してリモートで kill を実行しています。これらのコマンドは、専用ユーザー (JenkinsUser など) でサービスを実行することを前提としています。サービスと同じ資格情報で実行されている別のプロセスが java.exe を起動する可能性がある場合は、netstat を実行する必要があります。これは、Jenkins サーバー上でローカルに実行するか、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

Jenkins を TomCat サーバーにインストールした場合、代替ソリューションの 1 つは、単純に Apache TomCat サービスを再起動することです。

于 2012-02-16T22:35:00.563 に答える
1

スレーブ ノードがslave.jarWindows サービスとして使用されている場合、そのサービスは「自動」として定義されます。
これは、接続が切断された場合に定期的にマスターに接続しようとすることを意味します。

サーバー側 (ノード定義内) でノードを再起動するために何もクリックしないでください。自動的にオンラインに戻るはずです。

于 2010-09-21T11:31:39.277 に答える