2013年9月7日土曜日

Windowsタスクスケジューラの代わりにJenkinsを使う

Windowsで定期的に実行させる場合、タスクスケジューラを使わずにJenkinsを使う様にしました。
 Jenkinsは本来はシステム開発を自動化するツールですが、定期的にバッチを実行する高性能タスクスケジューラとして使えます。

タスクスケジューラと比べて良い点は以下です。
  1. どのジョブが失敗したか明確。
  2. 実行履歴を見てどの回が失敗したか明確。
  3. 失敗するとメール通知が出来る。
  4. 出力ログを取ってくれる上に古いログを自動的に消去も出来る。
  5. 前回の実行が終わっていなければ終わるまで待ってから実行される。(多重起動防止)
  6. ジョブ毎にパスワードを設定する必要がない。 パスワード変更時に変え忘れにくい。
 実際に設定してみましょう。
 新規ジョブを作る時はフリースタイルを選択します。

「説明」ではHTMLを書く事が出来ます。
「古いビルドの破棄」 を設定すると古いログを自動的に削除してくれます。

「ビルド手順の追加」でWindowsバッチコマンドの実行を追加します。

「定期的に実行」 で周期や時間を設定します。
表記方法はcrontabとほぼ同じです。

バッチコマンドを記入します。
Jenkinsでコマンドを入力する時の詳細は次回にでも紹介します。

ビルド後の処理の追加で「E-mail通知」を設定すると失敗の度にメール通知されます。

当然、通知先アドレスを設定します。

ジョブの一覧で失敗していると赤く表示されて分かりやすい。

履歴の一覧はこんな感じで見れます。
#5が失敗したのが一目で分かります。
 

 実行ログはコンソール出力にこんな感じで表示されます。

本来の使い方はJenkinsではじめる継続的インテグレーションなどを参考にして下さい。
 定期実行する方法に主に参考にしたのは邪道Jenkinsおひとりさまからはじめよう。おひとりさまでもはじめよう。です。

0 件のコメント:

コメントを投稿