Windowsでハドソンを再起動します
質問
私はWindowsでHudsonに問題を抱えています。
ハドソンまたはプラグインを更新するたびに、ジョブが実行されていないときに再起動するオプションがあります。
このボタンをクリックすると、ハドソンがハングして再起動しません。ハドソンサービスを再起動しようとしましたが、これは役に立たないので、ハドソンをオンラインに戻すためにボックスを再起動する必要があります。
最新のバージョンに更新しましたが、再起動ボタンをクリックしませんでしたが、これで消滅しました。
WindowsでHudsonを再起動する正しい方法はありますか?
乾杯
トム
解決
私も時々この問題を抱えています。何らかの理由で、ハドソンサーバーは完全にシャットダウンせず、起動するサーバーはポートを使用できません。その問題を修正するために、「netstat -n -o」を実行します。これにより、ポートを保持するプロセスIDを見つけて、TaskManagerを介してそのアプリを殺すことができます。今、私はサービスを再開することができ、ハドソンはうまくいく。
ここ数週間、私は同様の問題を抱えていました。説明には、プロセスが実行されていないときにアプリを再起動することを説明しています。ビルドキューに保持されていた1つのジョブを逃し、構成が故障したために実際にビルドすることはないため、ハドソンが再起動するのを妨げました。
すべてのジョブが終了し、サーバーが再起動しません。再起動ページにもう一度アクセスしてください http:// server:port/restart そして、もう一度再起動してみてください。それがうまくいかない場合は、サービスを停止して再度開始します。
アップデート:
ハドソン/ジェンキンスサーバーへの物理的にログインすることにうんざりしていたので、私は今、次のコマンドを使用してキルをリモートで実行します。これらのコマンドは、専用ユーザー(Jenkinsuserなど)でサービスを実行することを想定しています。サービスよりも同じ資格情報で実行されている別のプロセスがjava.exeを開始する可能性がある場合、Jenkinsサーバーでローカルに実行する必要があるNetstatを実行する必要があります(これは私にとってはオプションではありませんでした)。
:: 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
私が多くの時間がなければならないなら、私はそれからスクリプトを作成するかもしれません。
他のヒント
スレーブノードがある場合 slave.jar
Windowsサービスとして使用されるこのサービスは、「自動」として定義されます。
つまり、接続が切断された場合、定期的にマスターに連絡しようとすることを意味します。
(ノード定義で)サーバー側の何かをクリックして、前述のノードを再起動しないでください。オンラインで自動的に戻る必要があります。
JenkinsをTomcatサーバーにインストールした場合、1つの別の解決策がApache Tomcatサービスを再起動することです。