Jenkinsを使ってiOSアプリのビルドを自動化することによって可能になることは沢山あります。第一段階として、レポジトリのコードが「正しくビルドできる状態にある」ことを目指して設定を行っていきましょう。
継続的インテグレーションは、早期にプログラムの問題点・改善点を洗い出していくことが基礎的な目的とされています。定期的にプログラムを動作させてみてデータをとることによって、問題点や改善点が見えてくるわけですが、そのためには当然プログラムがビルドできる状態になっていなければいけません。というわけで、継続的インテグレーションを導入していく上での最初のステップは「ビルドできる状態かのチェック」になります。
Jenkinsを使って単純にiOSアプリをビルドする方法については前回の記事で書きました。今回はビルド失敗時にメールで通知を飛ばすようにしましょう。
メールサーバーの設定
さて、Jenkinsからメールを通知するためにはメールサーバーを設定する必要があります。
Jenkinsの設定画面から、システムの設定を開きます。
設定内容は使用するメールサーバーによって異なりますが、GMailの場合は下記の用な設定になります。
- SMTPサーバー: smtp.gmail.com
- 送信元メールアドレス: 通知に使うメールアドレス
- ユーザー名: 通知に使うメールアドレスのアカウント名
- パスワード: 通知に使うメールアドレスのパスワード
- SSL: チェック
- 文字セット: UTF-8
なお、設定が正しいかどうかをチェックする機能が用意されています。若干UIがわかりにくいですが、「メールを送信して設定を確認」を押すとテストメールを送るアドレスを入力する欄がでてくるので、ここで入力して「設定を確認」ボタンを押すとメールが送られます。メールを正しく受信できたら設定を「保存」して設定完了です。
失敗時の通知
メールの設定が完了したら、ジョブの設定をしてビルドに失敗した時にメールが送られるようにします。
ジョブの設定画面を開き、「ビルド後の処理」パートで「Add post-build action」メニューから「E-mail通知」を選択します。
ビルドに失敗すると、ここで指定した宛先にメールで通知が届きます。後で設定する、Gitのhookを使ったジョブ実行、あるいはSCM ポーリングによって自動的にジョブが実行されるようになると、自分あるいは誰かのコミットによってプログラムがビルドできない状態になるとすぐにメールで通知が届くようになります。(ビルドできる状態に修復されたタイミングでも通知が届きます)
今のジョブではまだビルドターゲットやプラットフォームを設定していませんが、今後それらの設定を行うと、最新のソースコードに対して複数のビルドターゲット・プラットフォームでのビルドチェックを行えるようになります。
動作確認
試しに、ビルドできないようなコードをコミットしてからジョブを手動で実行してみて、通知が届くかチェックしてみましょう。
「Jenkinsを使ったiOSアプリビルド自動化6 メールでの通知」への2件のフィードバック