ジョブが実行される度に例外で必ず失敗したり、なんかおかしくなったり…
そんな時は、リモートでスレーブマシンにログインして、スレーブを再起動させるのですが、
このひと手間がメンドイ!ってことで、こんなバッチファイル書いて使ってます。
@echo off if "x%~1" == "x" ( @echo スレーブ名を指定してください。 goto error ) rem Config SET SLAVE_NAME=%~1 SET SLAVE_OPTION=-Xmx512m SET JENKINS_COMPUTER_URL=http://localhost:8080/computer/ SET JNLP_PATH=%JENKINS_COMPUTER_URL%%SLAVE_NAME%/slave-agent.jnlp :loop @echo N | start /WAIT /REALTIME "%SLAVE_NAME%" "java" %SLAVE_OPTION% -jar slave.jar -jnlpUrl %JNLP_PATH% ping localhost > NUL goto loop :end exit /b 0 :error exit /b 1
第一引数にスレーブ名を指定します。
スレーブを起動して、なんらかの理由でそれが終了した場合、再起動させます。
仕組みとしてはものすごく単純ですが、
これでスレーブが切断されてしまった場合に、勝手に再接続してくれます。
また、Jenkins のスレーブのページから「切断」メニューを押すことで、
スレーブマシンに入ることなくスレーブの再起動ができるようになるオマケ付き!
0 件のコメント:
コメントを投稿