2014年4月28日月曜日

[Jenkins][管理者向け] 起動時トリガージョブ

Jenkins の管理者向けに Jenkins が起動したらメール通知するジョブを作りました。
(マシンの不調で再起動することが稀にあるので、その検知をするために作った)

まず、Jenkins が起動した時に "何か" させるために、Startup Trigger Plugin をインストールします。
Startup Trigger Plugin はその名の通り、Jenkins の master もしくは slave が起動したことをビルドトリガーとして使えるようにするプラグインです。

あとは、適当なジョブを作成して Startup Trigger で master の起動をトリガーとして設定。

ビルド後の処理にメール通知を設定したら終わりです。
これで Jenkins が起動するとメールが送られてくるようになりました。


ついでなので、Jenkins のログをメールに含めるようにしてみました。
Groovy postbuild Plugin で以下のコードを実行してください。
def jenkins = hudson.model.Hudson.instance
def logs = jenkins.logRecords
if( logs != null )
{
    manager.listener.logger.println("log: ")
    logs.each {
        manager.listener.logger.println(new Date(it.getMillis()))
        manager.listener.logger.println(it.getMessage())
    }
}

logs の部分を以下のようにすれば、ユーザーが作成したログレコーダーからでもログを取得できます。
def logs = jenkins.getLog().getLogRecorder('HOGEHOGE').getLogRecords()

0 件のコメント:

コメントを投稿