ジョブが実行される度に例外で必ず失敗したり、なんかおかしくなったり…
そんな時は、リモートでスレーブマシンにログインして、スレーブを再起動させるのですが、
このひと手間がメンドイ!ってことで、こんなバッチファイル書いて使ってます。
@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 件のコメント:
コメントを投稿