GitLabとGitLab Mattermostが連携することで、GitLabのCIパイプラインの実行結果をリアルタイムにチャットで受け取ることができるようになります。
これにより、ビルド・テストの失敗に気づきやすくなるなど、開発効率の向上につなげることができます。
システム管理者がGitLabとGitLab Mattermostを連携設定することで、通知ができるようになります。
- GitLab Mattermost(http://172.16.1.0:8066/)にシステム管理者(root)でログインします。ログインの際は、[Sign in]ではなく、[GitLab]からログインしてください。
- 画面左にある[≡(Main Menu)]をクリックします。
- メニューの[Integrations]をクリックします。
- [Incoming Webhooks]設定で[Add Incoming Webhook]をクリックします。
- 結果通知を受け取るChannelなどを入力して[Save]をクリックします。
- デフォルトでは、「Off-Topic」および「Town Square」という2つのチャンネルが存在します。
それ以外のチャンネルに通知したい場合は、「Mattermostのドキュメント」を参照のうえ、チャンネルを作成して下さい。
- 保存すると「Setup Successful」と書かれた画面が表示されます。そこに書かれたURLを保存します。
例)http://172.16.1.0:8066/hooks/k1teqtfe43f68df6k6bafjj5gh
- GitLab側を設定します。GitLabの上部メニューから[Admin Area]をクリックし、画面左にあるメニューの[Settings]-[Network]をクリックします。
- [Outbound requests]をクリック後、[Allow requests to the local network from hooks and services]にチェックを入れ、[Save changes]をクリックします。
- GitLabの上部メニューから[Projects]を選択し、「3.3 プロジェクトの新規作成」で作成した「sample」プロジェクトを選択します。
- 画面左にあるメニューの[Settings]-[Integrations]-[Mattermost Notifications]をクリックします。
- Activeのチェックボックスをチェックし、WebhookのURLにGitLab Mattermostの設定の際にコピーしたURLと、ユーザー名を入力します。
- Usernameは任意の名前を入力して下さい。
- すべての通知をGitLab Mattermostに反映させる場合は「Notify only broken pipelines」「Notify only default branch」のチェックをはずしておきます。
- これらのオプションの詳細については、「GitLabのドキュメント」を参照してください。