2015年11月4日水曜日

Windows の Jenkinsでジョブ実行中に一時停止する

WindowsでJenkinsのジョブを実行中にsleepのような一時停止を行う方法です。
「Windowsバッチコマンドの実行」で下記のコマンドを実行することで一時停止ができます。
ping localhost -n [待機する秒数+1] > nil 
[待機する秒数+1]は待機する秒数の値に置き換えます。

60秒なら 61
30秒なら 31
pingを利用した方法の実行結果のキャプチャ
このキャプチャでは61を設定しているので、60秒後に次のコマンドが実行されています。
Windowsのpingは1秒間隔で実行する仕様のため、これを利用して実現しています。
待機する秒数+1は1回目の処理は即座に実行されるので、+1が必要なのだと思います。

TIMEOUTというコマンドもありますが、Jenkinsのジョブで実行すると
エラー: 入力のリダイレクトはサポートされていません。今すぐプロセスを終了します。
と表示されジョブが失敗してしまいます。
これは約1年前に投稿したWindowsのJenkinsでジョブ実行中に一時停止したいのに
躓いたまま、そのままにしていた現象の現時点での解決策です。