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
-, , ,

執筆者:

関連記事

Omnibus版のGitLab、Mattermostデータベースに外部ホストからJDBCで接続

Omnibusで入れたPostgreSQLは、 Unix Domainソケットで接続待機Peer認証で認証 していて外部からの接続は出来ないことが前回分かりました。One IT Thing  …

GitLabのリポジトリを複製して引っ越しする

目次1 はじめに2 環境3 引っ越し開始3.1 ①GitLabで引っ越し先リポジトリを作っておく3.2 ②旧リポジトリのミラーリポジトリを開発用PCに作る3.3 ③ミラーリポジトリに入って内容物を確認 …

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

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

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

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

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

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

 

shingo.nakanishi
 

東京在勤、職歴2n年中年ITエンジニアです。まだ開発現場で頑張っています。

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

私と同じく、今後IT業界で生計を立てて行きたいと考えている方や、技術共有したいけど仲間が居なくて孤独、といった方と一緒に成長、知識共有して行けたら楽しいな、と思っています。