【Jenkins】ジョブのログから成功/失敗を判定
※本記事は、2017年に別ブログで書いた記事のリメイク版です。紹介しているプラグインのバージョンもきっと当時とは違うので、現在では使用方法が異なる可能性があります。ご理解ご了承。
基本的にJenkinsおじさんのジョブの成否はビルドツール(exe)の戻り値で判定させてるんだけども、ビルドツールの出力ログでは「エラーでんがな」と仰ってるのに、ジョブが成功した事になっちゃうケースがある。ビルドツールの戻り値が腐っとるんやね。
そいつが内製ツールだったら改修も効くんだけれども、よく分からんメーカーの、サポートがばりばり切れてるよく分からんツールだったりする。そんなツールを使ってビルドしてる現場もよく分からんが。まあ、どこの会社でもよくある事なんかね。新卒で入った会社でも古のツール使ったりしてたし。
そんな話はさておき、色々と調べ回った結果「ビルドログを解析して特定の文字があったらジョブを失敗扱いにできるよ!」というネ申プラグインがあるらしい。よっしゃよっしゃ、さっそく試してみようじゃねーの。今回使うのは「Log Parser Plugin」。名前からしてやってくれる感ある。
プラグインをインスコして有効化すると、「Jenkinsの管理」->「システムの設定」に、「Console Output Parsing」という項目が追加されてる。ここに、ログ解析のルールを設定すればよさげ。「Description」にはルールの名前、「Parsing Rules File」には、解析ルールを書いたテキストのパスを記入する。(管理画面でルールを直接入力できたらもっと便利なんだけどなー・・・)
error /Failed/
とりあえず、parserule.txt には上記のとおり入力しておく。「Failed」という文字列が出てきたらエラーに引っ掛けますよ的な指定になる。
そして、ジョブの設定をするときに「ビルド後の処理」として「Console output (build log) parsing」を追加してやる。「Mark build Failed on Error」にチェックつけて、「Use global rule」でさっき名前付けた解析ルールを指定してやればOKらしい。
[Error]Build Failed.
ここまでやってビルド実行した結果、上みたいに「Failed」を含むログを見て失敗扱いしてくれるようになった。