Note初級・中級のエンジニアやデザイナー向けに技術情報と英語学習情報を提供中。~継続的インテグレーションのプロセスにおいて、自動ビルド失敗時に開発者に通知する仕組みは不可欠です。今回は、Jenkinsのビルドが失敗した場合にメール通知を自動で行う方法を紹介します。関連記事はじめにJenkinsなどのCI/CDツールで自動ビルドが失敗した場合、開発者にできるだけ早く問題を通知し、ビルドが成功するようにすぐに故障を改修するように促す仕組みは、継続的なインテグレーションのプロセスを健全に保つためになくてはなりません。そのために、開発者へ通知する仕組みは重要です。今回は、Jenkinsのパイプラインジョブにおいて、ビルドが失敗した場合に、メールで通知する方法を紹介します。以下の準備が完了している必要があります。Jenkinsが構築済みであることJenkins内でDockerが実行可能であることGitHubのアカウントがあることこのやり方がわからない場合は以前の記事「爆速でJenkinsをマスターしよう(Docker編)」を参照してください。今回はテストメール用のSMTPサーバとしてMailtrapを使用します。それではアカウントを作成していきましょう。Now」をクリックします。GitHubでサインインします。railsware」をクリックします。これで無料のテスト用メールアカウントが作成されました。Settings」の「SMTP」の箇所をJenkinsに設定します。拡張メール用のプラグインを入れるJenkinsでパイプラインからメールを送信する場合はプラグインのインストールが必要です。「Jenkinsの管理」から「プラグインの管理」をクリックします。Plugin」がインストールされていることを確認します。推奨設定でJenkinsをセットアップした場合はデフォルトでインストールされているはずですが、インストールされていなればインストールしましょう。拡張メールの設定Jenkinsに拡張メールの設定をしましょう。「Jenkins管理」から「システムの設定」をクリックします。「拡張Email通知」の以下の項目にMailtrapのSMTPの内容を設定します。SMTPサーバーSMTP認証のユーザ名とパスワードSMTPポート「保存」をクリックしたら完了です。今回はNodeJSのDockerアプリケーションの自動テストした場合にメール通知を送信するので、そのために必ず失敗するDockerアプリケーションを作ります。ベースを作る必要なフォルダとファイルを作成し、パッケージをインストールします。test/utils.spec.js実装する簡単なプログラムを実装しましょう。};utils.spec.jsここであえて失敗するテストを書きます。}}「{your-github-account}」は自分のGitHubアカウントに置き換えてください。GitHubにPushするGitHubにサンプルアプリケーションをPushしておきましょう。GitHubにリポジトリを作ります。GitHubにPushします。master「{your-github-account}」は自分のGitHubアカウントに置き換えてください。メール通知の動作確認それでは、パイプラインのビルドが失敗した時にメール通知が来ることを確認しましょう。パイプラインジョブを作るホーム画面から「新規ジョブ作成」をクリックします。任意のジョブ名(今回は「email_notification」)を入力し、「パイプライン」を選択し、「OK」をクリックします。SCM」を選択し、「リポジトリURL」にGitHubに先程PushしたリポジトリのURLを入力します。「保存」をクリックすればジョブ作成が完了です。失敗するビルドを実行し、メール通知を確認する「ビルド実行」をクリックします。想定通りビルドが失敗しました。ビルド番号をクリックしてみましょう。Output」をクリックします。テストが失敗し、メールが送られていることが確認できます。Mailtrapの画面を見てみましょう。ビルド失敗のメールが届いています。これでメール通知が完了しました。最後にいかがでしたか?これでJenkinsでビルド失敗時にメール通知ができるようになりましたね。継続的インテグレーションを加速させていきましょう。最新の記事Keid自由で楽しい世界を目指すフルスタックWebデベロッパー。大学でコンピュータサイエンスを真面目に学び、日本の大手IT企業に就職後、新しい技術やスケールするビジネスが北米にある事に気づき、海外への挑戦を決意。英語ができなかっため、フィリピン留学およびカナダ留学を経て強制的に英語を上達させた。このブログでは海外に挑戦したいエンジニアやデザイナーに少しでも有益な情報を提供していきたいと思う。~Docker上でアプリケーション開発から運用まで完結させる開発スタイルは今まさに求められています。~DevOpsを実現するための最も有名なCI/CDツールはJenkinsです。今回はDocker環境を前提として、Jenk...UXデザイン初学者のための基本用語まとめUXという言葉はだいぶ前からデザインの考え方として流行っています。AuthorKeid自由で楽しい世界を目指すフルスタックWebデベロッパー。大学でコンピュータサイエンスを真面目に学び、日本の大手IT企業に就職後、新しい技術やスケールするビジネスが北米にある事に気づき、海外への挑戦を決意。英語ができなかっため、フィリピン留学およびカナダ留学を経て強制的に英語を上達させた。このブログでは海外に挑戦したいエンジニアやデザイナーに少しでも有益な情報を提供していきたいと思う。0.0010このブログの運営のためにBitcoinでの寄付を募集しています。お気持ち程度の寄付を頂けると管理者の励みになります。最新の記事Keid自由で楽しい世界を目指すフルスタックWebデベロッパー。大学でコンピュータサイエンスを真面目に学び、日本の大手IT企業に就職後、新しい技術やスケールするビジネスが北米にある事に気づき、海外への挑戦を決意。英語ができなかっため、フィリピン留学およびカナダ留学を経て強制的に英語を上達させた。このブログでは海外に挑戦したいエンジニアやデザイナーに少しでも有益な情報を提供していきたいと思う。~Docker上でアプリケーション開発から運用まで完結させる開発スタイルは今まさに求められています。~DevOpsを実現するための最も有名なCI/CDツールはJenkinsです。今回はDocker環境を前提として、Jenk...UXデザイン初学者のための基本用語まとめUXという言葉はだいぶ前からデザインの考え方として流行っています。