One IT Thing

IT業界を楽しむ為の学習系雑記

GitLab mattermost

社内プライベートMattermostを立ち上げてChatOpsする

投稿日:

社内開発チーム内のコミュニケーション、上手く行っていますか?
メンバーが世界各地に散らばってないなくても、意外と心は離れているかも知れません。

プライベートなGitLab12をCentOS7にインストールした続きです。

コミュニケーションやナレッジシェアを円滑にする為にはSlackを使うのが一般的な時代になりましたが、コンプライアンス的に社外リソースを使えない不運なプロジェクトも多いですよね。

そんな場合はSlackのクローン「Mattermost」を使うことでSlackを代替できます。

「Mattermost」はGitLabのOmnibus版に同梱されていて、Slackとほぼ同等の、ビジュアルな、自動投稿可能で、チャンネル分けされたチャット環境をオンプレミスに作ることが出来ます。

Mattermostを社内に導入することで以下のような効果が期待できます。

  1. チーム内コミュニケーションの円滑化
  2. 全員が手軽に同時閲覧できるのでメールよりも効率的な意思統一が図れる
  3. 他メンバーのGitLabへのpushを知る場になってくれる(マージしなきゃ)
  4. CI、CDなど自動化プロセス結果のコンソールになってくれる
  5. 運用管理ミドルからのアラート報告場になってくれる
  6. チャンネルを分けて知識を備忘しノウハウ蓄積が出来る

他にも情報収集プログラムやSonarQubeのようなプロジェクト分析ミドルの結果を個別チャンネルに流すことで、現状把握をチーム全体で行えるようになります。

GitLab Omunibus版をインストールさえしてしまえば、Mattermostが使えるようになるまでものの5分です。

コミュニケーションが盛んになれば意思統一が図れてチームメイキングが楽になります。GitLabをインストールしたら以下の手順で簡単に有効化することが出来ます。

mattermostを使えるようにする

/etc/gitlab/gitlab.rbを編集

GitLabの設定は/etc/gitlab/gitlab.rbで行います。mattermostを有効にする為の設定もこのファイルで設定します。

gitlab12.2.1に付属のMattermost5.13.2では以下3行を変更するだけです。ポートは18081にしています。任意で変更してください。

# vi /etc/gitlab/gitlab.rb

################################################################################
## GitLab Mattermost
##! Docs: https://docs.gitlab.com/omnibus/gitlab-mattermost
################################################################################

# 1. アクセスURLを変更
# mattermost_external_url 'http://mattermost.example.com'
mattermost_external_url 'http://192.168.0.4:18081'

# 2. mattermost有効化
# mattermost['enable'] = false
mattermost['enable'] = true

# 3. 起動IPをループバックからホストIPに変更
# mattermost['service_address'] = "127.0.0.1"
mattermost['service_address'] = "0.0.0.0"

設定をGitLabに反映

gitlab-ctl reconfigureして/etc/gitlab/gitlab.rbの内容をGitLabに反映します。

# gitlab-ctl reconfigure

18081ポート開放

18081ポートでMattermostを公開するようにしたのでTCPポートを開けます。

# firewall-cmd --add-port=18081/tcp --zone=public --permanent
success
# firewall-cmd --reload
success

動作確認

「http://GitLab、MattermostのIP:18081」にブラウザでアクセス。
GitLabのOAuth2機能でログインする為「GitLab Single Sign-On」をクリック。GitLabで作成したユーザ(ここでは前回作成したdeve1@localhost)でログインします。

チームを作成。GitLabで作ったチーム名でもなんでも構いません。

チーム名を登録後、

devel1ユーザでログインが出来ました。ハンバーガーメニュー(三みたいなやつ)から日本語化や各種設定が出来ます。

他開発メンバーを招待する

まだ自分しか居ないので他の開発メンバーを招待します。ハンバーガーメニューから「チーム招待リンクを入手」をクリック。

表示されたHTTPリンクを招待したいユーザにメールなりで送ります。ユーザには予めGitLabでユーザを作成しておきます。受信したユーザはリンクをクリック後、自分のGitLabアカウントでMattermostにログイン出来るようになります。

他ユーザたちとチャットでコミュニケーションが取れるようになりました。

人間同士の意思疎通や、CI結果を報告するボット発言を共有する場所が、ものの数分で完成しました。

これが無料で構築出来るって・・・GitLabすごいですね。

チャットは運用次第でデスマーチプロジェクトすら成功に導いてくれるかも

今時アジャイルなプロジェクトではチャット環境が無いケースの方がレアです。

ですが寧ろ、顔も名前も知らない人が大勢居るような大規模ウォーターフォールプロジェクトの方がチャットの効果は大きいかも知れません。

参画した大規模プロジェクトで分からないことが有った時、その件の有識者を探すのは手間が掛かります。

詳しいと思われる人を紹介されても、話をしてみたら期待した答えが返ってこなかったりすることもしばしば、ですよね。

でも全ての開発会社メンバーが見ているチャット環境が有れば、目立ってないけど実は詳しい人が居て質問に答えてくれる可能性も出てきます。(IT業界は目立つのが嫌いなデキる人が多いので)

文章としてそのやり取りが残っていれば他メンバーにも横展開され、その質問が繰り返されることは無くなるはずです。

各チームや会社単位でチャンネルが閉じてしまわないようにオープンな運用をしていけば、Mattermostはデスマーチから抜け出せるキーになってくれるかも知れません。

-GitLab, mattermost
-, , ,

執筆者:

関連記事

GitLab12.2.1をCentOS7.6にインストール

会社のコンプライアンス的にgithubが使えない個人開発しているプログラムを完全にプライベートで管理したい GitLabを家庭や社内でオンプレで使えばこれらのニーズを満たすことが出来ます。 留意点とし …

Mattermostのチャンネル発言数をMetabaseでビジュアル化する

オンプレGitLabでMattermostを使えるようにした後の活用法として、「ナレッジチャンネル」を運営してチームの知識を共有する営みをしている開発現場も多いと思います。 ミーティングではなくチャッ …

Nodeアプリが依存するnpmモジュールライセンスをlicense-checker & Jenkinsで自動チェック(1)

目次1 目的2 使用するnpmモジュール3 ライセンスを表示してみる3.1 サマリで出す3.2 CSVファイルで出す4 まとめ 目的 ionicやNode.jsアプリが依存するライブラリにライセンス違 …

GitLab12.1からMySQLを捨ててPostgreSQLに一本化するらしい

オンプレSCMの旗手、GitLabから掲題のニュースが有りました。 2017年から公式発表があったことですが、GitLab 12.1からMySQLのサポートを止めるとのことです。  GitL …

GitLab Omunibus版のPostgreSQLに普通のpsqlコマンドで接続

GitLab Omunibus版でインストールされるビルトインPostgreSQLは、 TCP:5432ではなくホスト内でしか接続出来ないUnix Domain Socketで待機ローカルホストからO …


shingo nakanishi。東京で消耗中の職歴20年越え中年ITエンジニアです。「生涯現役プログラマを楽しむ」ことができる働き方探しをライフワークにしています。

19歳(1996年)から書き始めた個人日記が5,000日を超え、残りの人生は発信をして行きたいと思い、令和元日からこのサイトを開始しました。勉強と試行錯誤をしながら、自分が経験したIT関連情報を投稿しています。