はじめに
こんにちはSREエンジニアのMakiです。
Jenkinsに慣れていないとログの確認をどのようになればいいのかわからない場面があるかと思います。
この記事ではログの具体的な確認方法について紹介していきます。
Jenkinsのログ確認方法
ログの確認方法は フリースタイルジョブ とパイプラインジョブ で使い分けると状況把握がしやすいです。
ポイントは次の3点です。
1. フリースタイルジョブとパイプラインジョブでログの見方を使い分ける。
2. フリースタイルジョブはコンソール出力からログを確認する。
3. パイプラインジョブはブルーオーシャンの画面からログを確認する。
ではそれぞれ説明していきます。
フリースタイルジョブのログ確認
フリースタイルジョブのログはJenkinsの コンソール出力 から確認するのが通常です。
【Jenkins】フリースタイルジョブを使いこなそう!~ かわいい子猫の画像を取得してみる ~
https://tielec.blog/index.php/sre/ci-cd/jenkins/free_style_job/
上記で作った kitten_image_generator のジョブで確認してみます。
コンソール出力
ログ確認
- 確認したいジョブのビルド番号を選びます。

コンソール出力へと進む

- ログの確認ができる。

失敗したジョブのログ確認
シェルの中身を書き換えて失敗させてみます。
正しいスクリプト
curl --fail -o ${KITTEN_IMAGE_FILE_NAME} http://www.randomkittengenerator.com/cats/rotator.php
間違ったスクリプト( curl をcurに変えてジョブを失敗させる。)
cur --fail -o ${KITTEN_IMAGE_FILE_NAME} http://www.randomkittengenerator.com/cats/rotator.php
shell の実行で失敗していることが表現されています。

パイプラインジョブ
パイプラインジョブはまずはブルーオーシャンでログを確認するといいと思います。
ブルーオーシャンで見ても原因がわからないときはコンソール出力を確認しましょう。
【Jenkins】Pipelineジョブを使ってみよう ~ 基本編 ~
https://tielec.blog/index.php/sre/ci-cd/jenkins/pipeline-basic/
【Jenkins】Pipelineジョブを使ってみよう ~ 応用編 ~
https://tielec.blog/index.php/sre/ci-cd/jenkins/pipeline-advance/
上記で作ったジョブのログを確認してみます。
ブルーオーシャンでのログ確認
ブルーオーシャンでパイプラインのジョブを確認すると、Pipeline ジョブで定義した Step のうち実際に実行されたものがログとして出力されます。例えば、build や sh といったStepが該当します。
応用編で作った parallel_download_kitten_image_pipeline のジョブを確認してみます。
各ステップでのログ確認方法
- まずは
Blue Oceanを開きます。

- 確認したいビルドを開きます。

- 見たいStageのログを選びます。

- 確認したい
Stepを選びます。
buildステップのログが表示されます。

ダウンストリームジョブのログ確認方法。
ダウンストリームジョブの確認もブルーオーシャンから行えます。
- Triggerd Builds から子ジョブにジャンプします。

- 切り替わりました。

- 各Stepを開くとそれぞれログが表示されます。

失敗したパイプラインのログ確認
フリースタイルジョブの時と同じように curl を実行している部分を curに変更してジョブを失敗させてみます。
- ビルド失敗

- 失敗したステップが表示される。
ブルーオーシャンを開くと失敗したステップがすぐに表示されます。

- ダウンストリームジョブを開く

- 失敗したステップが表示される

一目でShell スクリプトの実行で失敗していると判断できますね。
※ download kitten image のステージで失敗していますが、post ブロックの処理は実行されるので、ワークスペースの削除やスラック通知は実行されています。
コンソール出力から確認したほうがいい場合
Pipelineのシンタックスエラーなど、Pipelineの設計に不備があった場合などはブルーオーシャンからはエラーがわかりずらいので通常通りコンソール出力を見るほうがいいと思います。
sample

まとめ
いかがでしたでしょうか。改めて内容をまとめますと次のようになります。
1. フリースタイルジョブとパイプラインジョブでログの見方を使い分ける。
2. フリースタイルジョブはコンソール出力からログを確認する。
3. パイプラインジョブはブルーオーシャンの画面からログを確認する。
おすすめ書籍

[改訂第3版]Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)
初めてJenkinsを学ぶ方におすすめです。

Jenkins
Jenkinsでできることについてもう少し詳しく学びたい方におすすめです。



コメント