HipChatとの連携
Jenkinsではさまざまなプラグインがありますが、今回はJenkinsでのJobの実行時にHipChatとの連携するためのプラグインをサンプルに説明します。
プラグインのインストール
まずはプラグインをインストールします。Jenkinsの管理の「プラグインの管理」メニューを開き、利用可能のタブからHipChat Pluginを選択してインストールします。
HipChat側のTokenの取得
HipChatの管理画面にログイン後、GroupAdmin画面からAPIを選択します。
CreateNewTokenの欄から新しくトークンを発行します。TypeはNotificationでラベルは分かりやすいように付けます。下図のように、新しく登録したトークンが一覧に表示されたでしょうか?
Jenkinsの設定
次にJenkins側の設定を行います。Jenkinsの管理のシステム設定を開きます。プラグインをインストールすることで、設定画面の下部に「Global HipChat Notifier Settings」の項目が追加されています。
API Tokenには先ほどHipChat側で新たに登録したトークンを入力します。Roomはタスク側で個別に設定するので、入力は不要です。Jenkins URLは自身のJenkinsのURLを入力しましょう。これでHipChatに通知を飛ばす準備ができました。
JenkinsのタスクからHipChatに通知を飛ばす
最後にJenkinsのタスク側でHipChatに通知するための設定を行います。Jenkinsのタスク設定画面でHipChat Notificationsの項目が追加されています。
Project Roomに通知を行いたいHipChatのRoom名を記載し、Start Notiricationにチェックを入れることで、タスクの実行開始時に設定したRoomに通知が送られます。
また、ビルド後の処理にHipChat Notificationを追加することで、タスクの実行結果をHipChatに通知することができます。
このタスクを実行したサンプルが下記になります。タスクを2度実行し、タスクの開始と終了が2度通知されています。2度目は故意に失敗させたサンプルです。
成功は緑で表示され、失敗は赤で表示されます。
DMMでは本番デプロイのタスクや、Ansibleの実行時にエンジニア全員が見られるHipChatRoomに通知を行うことで、タスクの失敗やデプロイ状況などが分かりやすいように設定しています。
まとめ
今回は、Jenkinsの導入からタスク実行時にHipChatに連携する部分までを紹介しました。Jenkinsと様々なツールを連携することで、さらに安定的にシステム運用を行うことができます。
次回はAnsibleの導入の紹介を行います。