![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwIgztt0FbypOdu7y7ROXfEGVoHRSpEay93NtmnODch2ZOhjfyDo0lJRP_AyPk2YDJFSl7kVF8YOUHO4p6yiDCmO5fdGAtQrrc2Qwid_PWbb3d_oFyVgbRrYoL8csGAHoyw2Cqhn_-0fSw/s320/Fotolia_83050034_XS.jpg)
GitLab のインストール・設定シリーズ第4回目の今回は、Slack との連携を行います。
その他の記事は、以下をご覧下さい。
第1回(AWS EC2 に GitLab をインストールする)
第2回(AWS EC2 に GitLab をインストールする(メールの送信テスト編))
第3回(AWS EC2 の GitLab へリポジトリを移行する)
では、早速やり方を説明して行きますが、前回までと違い、今回はブラウザ側の設定で完結出来ます。
1)通知用のチャンネルを作る(Slack側作業)
1-1) 作業の目標はGitLabへのPushをSlackに連携する事なので、何はともあれ通知用のチャンネルを作成します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQpRVJFE9weEk5TTotEOLkhlnHbWf2oKetGtQ-_QXCoa2OTc8wwKNPaVfl-Q37AcKV0EhmZIh6shGtoZeqPYig5vWaRRKrj8V5MQ2ITb1lqJhUIbbX0iMqvl0jqnrQZSm-pKCYLJlgQCLm/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-12-01+17.30.57.png)
2)通知用のアプリを作る(Slack側作業)
2-1) Slackのメイン画面で、チーム名の横にある「下矢印」をクリックし、メニュー表示後、「Apps & integrations」を選択します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0fPheKgmuKR3VToCU_RI0WZltPYmkEdBB1VIh_JMhG_zaHvZOn6cA9-rK1ksGGdEgzP2gK-oH3x2UF34QOYnaPPRjQ0FbHVf6ANmZVblbB2GfS4V4ZJwXn2w19NZXNNvADlVkErvEXsrW/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2016-12-01+17.31.48.png)
2-2) 新たに表示された画面の右上「Build」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYLxsWjB4a0DuUq4reTDYppy91kq3aY8WsdCSu7vDR34IDsVmJfZCN4DbVshkKo1S9bNppBXNoJb1h3bxlyW6v2eZI_neItbLQtRki9fG8K38D-PETKw-_x76M9IY6Cgy68vSVpanD8D9A/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.02.24.png)
2-3) さらに新たな画面に遷移するので、そこで画面中央の「Start Building」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigwsIGBjdAkuFrCw826zDDSfpjkL6SqJ8e8AieUZXulQ2wPPw9167MbMCZ81EOsrnQDIdIu_AKE7SEBk8A3rpAeVdSsxvolpOVijzVYCadBAEj7NXgQVHLGTkY5-fT_kkLWS_-4NdHC6JY/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.02.47.png)
2-4) 続いて、アプリ名を入力し、通知するチームを選択してアプリを作成します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnlVGwYfZeKfP4h0qO-v0z1myU0FB1WpzvB3XzeJOlwyYGOWBczslPsXqLq-5J0JeQnUJau6kCQlSbBAfgebLUPGi9GG5iQFlFozG5Bqav7gpASHAxQu-eJYyDFksw-ALmlzGlJQodvt_w/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.05.25.png)
2-5) アプリが作成されるので、アプリの種類として「Incoming Webhooks」を選択します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1r2QO3WFLZ0xiOOFg552-a2BjB16xZuLZDqXeIK8G_3Icxax3dzjRQaBQ-wtVvtDIzubq7NB5A_oOcccmBSlbadRp-Co3RrsQNX7Ye0NAQSvF55zzgVm_p3Jt2P66e4v1s-_Wy8zMKtl-/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.05.58.png)
2-6) 「Incoming Webhooks」の設定画面になるので 、まず右上のスイッチを「ON」にし、
その後、「Add New Webhooks to Team」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaVCJKHGtnw7qKT1PuFWtWdttsTE6wVSqF3vCQwpyeKiQcU_7ge2-EjxC_FsaD7Y7lJYtyzwWs9myHgnoXiIskPNZ1On1f_QBRyTMKoa_0HHkVjJb25yf7kfg8aSh4qxOos3nSB3omrWok/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.06.32.png)
2-7) 通知を行うチャンネルとして、先程作成したチャンネルを選択し、「Authorize」をクリックします。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh6YTS0F0ls9C5ZViCrAfBhUEFj9p1SRK-sOeeh_KpAvgKoLsYy2u27jUunKRmBmKIlH-EOtNxy3ipLXqv2qHrTc2eIyYa9etf2MG9f_E9ZpUqsm-x1THynJpgIUkLD-2qbvPMLPHZmlz5A/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.07.02.png)
2-8) 先程の画面に戻りますが、Webhook用のURLが表示されるので、これをコピーしておきます。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEid5UlBt39IJ3qDdr1IwhsQ8HcJHBC64RYmZhwSEfI3ciKjXge4lj8HZqN3n_4xoq5y9pEnp_NmRQLmz5H98DmhiYyFU8_CfbF1MDq1SwZF71HSV190Wxy_hQTph4hNwGzwg1bIUxZ5ZR82/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.07.50.png)
3)通知の設定を行う(GitLab側作業)
ここからは、GitLab側での設定になります。3-1) 管理者でログインし、管理トップの画面から、右上の歯車から「Service Templates」を選択します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDJM1J_d-pKKVtmr7Ko8gv2YiPLnl0qiCPV3o2Sbehl4R63_WI2zLYsjMNVEbLvYIfNifVJMhWIJmjZrft_kD2az6_SuKiyuLRC4YCeF-stWHkgQjuxfSqf1I_0Uz5mLW9KEMejHVvg54c/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.17.23.png)
3-2) Slackを選択
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxnxWW1-HcyOJV90yAW1w1M_As0juPUBfILcVBtBs-Kjik0qGog3nhrWfrw-DeovrDBndP4zwx2QwQUl3vyCZJXbvbRkhR0Ed-bGGWlMeQ0uDxTShlhkcY9uHDnRZM3lBMFaOR0Dy9cdfD/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.17.35.png)
3-3) まず設定を有効にする為、「Active」にチェックを付けます。
後は、どのトリガーで通知を行うか設定します。
下記画像だと、「Push」、「Merge request(GitHubで言う所のPullRequest)」「Tag push」の時に、
「gitlab-notification」へ通知するようにしています。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjk27HZVYckJ1EBsfTXi6MddtgR7SDGKDhKQAEJoi4VIgDaIN3gn3o66_vVmxEKpnE9LzARReta5VBWM8Lo14X6SNQk7H-7ODFki874jQIeUW3f48eLgTcoD_Rm4ngD_U4yB10SVhjVzeI5/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.23.23.png)
そして、先程コピーしておいたWebhook用のURLを設定し、「Save」します。
※「Service Templates」で設定しておくと、全てのプロジェクトに反映されるので、便利です。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOkZnto_OeY4L10hRqY2B1juvosivA2NPZJzYrTpZ8O3LIPP_eS0UuFCu24WpuDJRHH9dOteSd5dVJKo6WGmuika_Xxp04QzbG1wm2xihDUp8N4ECjtCZbiRBddD6PgW0E9HECAYvg-LXc/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.23.31.png)
3-4) 続いて、各プロジェクトで設定を確認してみます。
プロジェクトのトップ画面で、右上の歯車から「Service」を選択します。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjhfAZnzUxBS8ZYp0_OB7sTCYhDLRZ8oKtjzByMwgS6GNnATCTjj1KQTSmgBZKRQa_SScTA-qdVH95EU73ktRNRZxVy4FDTBo6_sRflClO8XdZohWsY084GNgTv9QlL9XBqEDf-DlSkj7NV/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.24.31.png)
3-5) Slackを選択します。
※「Service Templates」で Activeにしているので、緑のマーク(有効マーク)が付いているはずです。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgaSqHoN84LUdMD_57aUhZBYHsQZba5-YYNSAHDpyq6aSBS-cywUfa8C_L8a1hrMi73uYO-yhhOASuYiLvYPhXjM6_cUs0DwNUGtfCHPRFvUTUE-1OmZUxl9zI8OiprkO2_2h2jv5O7K6hN/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.29.09.png)
3-6) 設定自体は、「Service Templates」と同じになっていると思いますので、
「Test setting」を押して、通知のテストをしてみましょう。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfc04z97FnYhMctaASlc2F1YvHv6aykmyjXgO3n1KgM4-NSh6kOQoyUXYZsZxbIMpvtYTWdb4udsQYiHT5CrECCvIF7iL5QWqKY1q_MQwApOsOpRMmMlQumtUiyJj65gp-fevVxTHpGC6M/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+13.29.24.png)
3-7) 下記のようなメッセージがSlackに出てくれば成功です。
(テスト通知の場合、直近のPush情報が通知されるようです。)
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLdAytKotcgf-T6KNo66dIp1Gl4GLmki86GmlioUhyphenhyphenOrrU4RU5qKNWu3Zy7XfjpMqmPRuItXwbaMvBEmqyUG89G_PVLADIFVHL2WV3DkmoV3C-zXmAGaH6rD0ZfNUYjGqbnR4n5Xnd_tWq/s320/%25E3%2582%25B9%25E3%2582%25AF%25E3%2583%25AA%25E3%2583%25BC%25E3%2583%25B3%25E3%2582%25B7%25E3%2583%25A7%25E3%2583%2583%25E3%2583%2588+2017-03-12+14.50.27.png)
※ちなみに、Slackに表示される画像と名称は、Slack側のアプリ側で変更可能です。
上記は変更後の状態です。
何も設定していないと、Slack API のアイコンが表示されるはずです。
以上です。
開発初期などは、通知が飛び交う事になるので、ちょっとウザいと感じるかもしれません。
(弊社でも最初はそう感じました)
ただ、慣れてくると、誰がいつどんなPushを行なったのか、どの不具合の修正が行われたのか、
など、かなり有意義に思えてきます。
特に、管理する立場から言うと、進捗状況がリアルタイムで分かるのは、かなり助かります。
余談(設定方法はコロコロ変わる)
実は、この記事は、少し前に記載は終わっていて、後は公開するだけの状態でした。今回、公開しようと思って、情報の確からしさをチェックしたら、
Slack側の設定方法がガラッと変わっていた為、
書き直しをする事になってしまいました。
ブログの記事は寝かしちゃいけないな、と反省しました。
AWS , Cloud , EC2 , GitLab , Linux , Slack
0 件のコメント:
コメントを投稿