そういうのがいいブログ

SIerで働く30代サラリーマンSEがインフラエンジニアに憧れてLinux・クラウド・AWSの勉強をするブログ

Jenkins(2.249)でプロジェクトのビルド結果をメールで通知する方法

・Jenkinsでプロジェクトのビルド結果をメールで通知する方法を知りたい。
・具体的な手順を教えてほしい。

こういった疑問に答えます。

本記事の内容

  1. Jenkinsでプロジェクトのビルド結果をメールで通知する方法

この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。

こういった私が、解説していきます。

私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。

Jenkinsでプロジェクトのビルド結果をメールで通知する方法

前提

  • Jenkinsのバージョン:2.249.3

Jenkinsのプラグイン追加

ビルド日時のタイムスタンプの環境変数を使えるようにしたいので、
プラグインを追加します。

プラグイン追加後、一度、Jenkinsを再起動します。

Jenkinsの管理>システムの設定>拡張E-mail通知

Jenkinsの管理>システムの設定>拡張E-mail通知 のところで、
以下の通りに設定します。

デフォルトサブジェクト(メールの件名)

[Jenkins]$PROJECT_NAME - Build # $BUILD_NUMBER - $BUILD_STATUS!

デフォルトコンテンツ(メールの本文)

プロジェクト:$PROJECT_NAME
ビルド番号:# $BUILD_NUMBER
ビルド日時:$BUILD_TIMESTAMP
ステータス:$BUILD_STATUS

下記のURLを確認してください。
$BUILD_URL

---------------
$BUILD_LOG
---------------

プロジェクトの設定(ビルド後の処理)

プロジェクトの設定の「ビルド後の処理」で「拡張E-mail通知」を追加します。

[f:id:souiunogaii:20201129190847j:plain:alt=]

「Triggers」に「Always」を選んでメールの送信先を設定します。

プロジェクトをビルドして実際に送信されたメールの例

上記の設定をしてから、プロジェクトをビルドすると、以下のようなメールがJenkinsから送信できました。

なぜか、「差出人」が「まだアドレスが設定されていません。<nobody@nowhere>」と表示されてしまいました。
原因は調査中です。

ちなみに、Jenkinsの管理>システムの設定>Jenkinsの位置>システム管理者のメールアドレス
には、以下のようにアドレスを設定しているのに、実際のメールの差出人に反映できていませんでした。

2020/12/24追記

下記のプラグインの設定ファイルの中のメールアドレスが
「まだアドレスが設定されていません。<nobody@nowhere>」
になっていたので、修正したら、Jenkinsから送信されてくるメールの差出人アドレスを変更することができました。

/var/lib/jenkins/hudson.plugins.emailext.ExtendedEmailPublisher.xml
<?xml version='1.1' encoding='UTF-8'?>
<hudson.plugins.emailext.ExtendedEmailPublisherDescriptor plugin="email-ext@2.77">
  <defaultSuffix>@space.com</defaultSuffix>
  <mailAccount>
    <address>jenkins@space.com</address>
    <smtpHost>SV-CERES</smtpHost>
    <smtpPort>587</smtpPort>
[改訂第3版]Jenkins実践入門
ビルド・テスト・デプロイを自動化する技術
WEB+DB PRESS plus

エンジニアの勉強ができるオンライン学習サイト

Udemy (オンライン動画学習サイト)

≫世界最大級のオンライン学習サイトUdemy https://www.udemy.com/ 

Udemy(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。

Udemyの特徴
  • ユーザー登録すれば、第1回の講座は無料で視聴できる
  • 無料のコンテンツもある
  • 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい

≫Git: もう怖くないGit!チーム開発で必要なGitを完全マスター(トータル5時間50分)

≫DevOps Project: CICD with Git GitLab Jenkins and Laravel(トータル4時間)