こんにちは!チームの自動化や効率化に日々頭を悩ませている、あなたのための技術ブログへようこそ。
今回は、多くの現場でいまだに現役バリバリで活躍している「Jenkins」を取り上げます。
「Jenkinsって、なんかビルドが失敗したときに冷たい赤い画面が出るだけだし、通知もただ『落ちました』って来るだけで不便……」なんて思っていませんか?
もしそうなら、非常にもったいない!
今回は、Jenkinsでのテスト結果をリッチに可視化し、「誰が・どのテストケースで・なぜコケたのか」をSlackへ一瞬で、かつ最高に分かりやすく通知するスマートなパイプライン構築法を伝授します。
これをマスターすれば、エラー調査の無駄な時間が消え去り、毎日の開発が劇的に楽になりますよ。さあ、一緒に見ていきましょう!
—
1. JenkinsとSlack連携が目指す「真のゴール」
私たちが目指すのは、単に「テストが失敗したらSlackにボットが叫ぶ」という原始的な通知ではありません。
目指すのは、「Slackの通知を見ただけで、開発者が迷うことなく原因のコード(Gitの差分)やテスト結果のレポートへ直行できる世界」です。
- テストのトレンドがひと目でわかる: 「最近 flaky(不安定な)テストが増えてきたな」という傾向がグラフで視覚的に把握できる。
- 失敗箇所にダイレクトアクセス: 膨大なログからエラーを探す必要なし。失敗したテストケース名と、該当ビルドのJUnitレポートへ直接飛べるリンクが手に入る。
- 誰のせ…いえ、どのコミットのせいかがわかる: そのビルドに含まれていたGitの変更差分(作者含む)が通知に紐づく。
これを実現するために、いくつかの強力なプラグインとJenkinsfile(パイプラインコード)の力を借りていきましょう。
—
2. 必要なプラグインのインストール
まずは、Jenkinsの心臓部を拡張します。Jenkinsの管理画面(「Jenkinsの管理」 > 「プラグインの管理」)から、以下のプラグインがインストールされていることを確認してください(入っていなければインストール)。
1. Pipeline: 宣言的パイプラインを書くための必須基本セット。
2. JUnit Plugin: テスト結果のXML(JUnitフォーマット)をパースし、見やすいグラフにしてくれる主役。
3. Slack Notification Plugin: JenkinsからSlackへリッチな通知を送るためのブリッジ。
4. Git / Git