・Jenkinsでプロジェクトのビルド結果をメールで通知する方法を知りたい。
・具体的な手順を教えてほしい。
こういった疑問に答えます。
本記事の内容
- Jenkinsでプロジェクトのビルド結果をメールで通知する方法
この記事を書いている私は、某SIerに勤務しながら、
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
こういった私が、解説していきます。
私が実機で試したコマンドや画像を載せて書いています。
記事の信頼性担保に繋がると思います。
Jenkinsでプロジェクトのビルド結果をメールで通知する方法
前提
- Jenkinsのバージョン:2.249.3
Jenkinsのプラグイン追加
ビルド日時のタイムスタンプの環境変数を使えるようにしたいので、
プラグインを追加します。
- 追加するプラグイン: Build Timestamp
プラグイン追加後、一度、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通知」を追加します。
「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(ユーデミー)は、オンラインで動画で学習できるサービスです。
ITエンジニア系の講座もたくさん公開されています。
Udemyの特徴
- ユーザー登録すれば、第1回の講座は無料で視聴できる
- 無料のコンテンツもある
- 過去に受講した人の人数や、受講した人の評価も表示されるので選びやすい