GitLab Mattermost

## 自己紹介

* 氏名: 政倉 智 (まさくら とも)
* 所属: html5j 鹿児島
* 所属: codeArts 株式会社 (みんなゲーム遊んでね!)
* 趣味: バイクとか


----

* 数年前に GitLab をチームに導入
* (GitLab に) 資金が集まって品質が上がったので、チーム外にも
* 今は利用者 100 人以上いると思う


----

![image.png](https://qiita-image-store.s3.amazonaws.com/0/103982/6a2ea7f8-dc25-30e7-db49-6aa1e8985e46.png)


----

インターネットでできることを職場でもあたりまえに

* GitLab CE/CI/LFS/Container Registry
* GitLab Shared Runner
* GitLab Mattermost
* PlantUML Server
* Sentry <- 近々導入予定
* HackMD <- 廃止予定
* ~~Redmine/Jenkins~~ <- 廃止
* **オススメあったら教えてください!**

----

鹿児島でも、GitLab の勉強会やってます!

* 2017/?? **GitLab Meetup Kagoshima 開催予定!**
* 2016/12 GitLab/GitLab.com 勉強会 第二回
* 2015/12 GitLab/GitLab.com 勉強会


---

本業は .NET 屋さん!

2017/10/20 (金) 19:00 -
かごもく #1 ASP.NET Core ハンズオン

場所: TUKUDDO - 鹿児島市内

準備中!

https://kagoben.connpass.com/


----

## アジェンダ

* Mattermost の紹介
* GitLab Mattermost と Mattermost の違い
* GitLab との連携
* FAQ
* Mattermost WebRTC Video Chat (BETA) デモ


----

## Mattermost の紹介


----

Slack like なチャットです

![mattermost1.PNG](https://qiita-image-store.s3.amazonaws.com/0/103982/8d64e498-dee5-7cce-44b9-b095c0e60bdd.png)

----

> Open source, private cloud
> Slack-alternative

* OSS である (Go + React)
* 組織内に設置できる
* Slack を代用できる
* Mattermost Inc. が開発をしている (Not GitLab)


----

* チーム向けチャット
* チームでチャンネルをいくつでも作れる
    * 雑談用、責任者のみ、全体告知用、飲み会用
* ファイルのアップロード
* Markdown や emoji が使えます
* デスクトップアプリとモバイルアプリもある


----

### Incoming Webhook

![network .png](https://qiita-image-store.s3.amazonaws.com/0/103982/136712fb-0f65-b6a6-fd2c-77e3c87ba0cb.png)


---

Sentry Slack Plugin に Mattermost を設定しても動きます

![sentry.png](https://qiita-image-store.s3.amazonaws.com/0/103982/94519ff3-f961-f278-ad34-25172fc7cf6c.png)


----

### Outgoing Webhook

![outgoing(1).png](https://qiita-image-store.s3.amazonaws.com/0/103982/96e43b5e-5da8-9a5b-d85e-bc2e5b9a4336.png)

----

### Slash command

/ で始まるコマンドをたたける。

```
/gitlab issue new 動きません

私の環境では動かないんですけど!
```

アイデアを Mattermost で議論しながら Issue を登録できるようになってる


----

## GitLab Mattermost と Mattermost の違い


----

GitLab Mattermost は Mattermost のディストリビューションの一つ

* GitLab Omnibus Package (deb とか rpm) に同梱されている
* GitLab には SNS 機能があったけど、廃止された
* 代わりに Mattermost を Omnibus Package に含める提案が
* Mattermost のライセンスが AGPLv3 なのが少し問題に
* ビルドされた GitLab Mattermost を MIT とすることで合意
* 今は、Mattermost 側が配布しているバイナリも MIT
  * https://www.mattermost.org/licensing/


----

GitLab Mattermost は

GitLab の連携機能が追加されているってことはなくて

Mattermost と同じと考えていいと思う


----

GitLab と Mattermost の両方を使う場合は、Omnibus Package だけでセットアップができるのでおすすめ。

```ruby:/etc/gitlab/gitlab.rb
mattermost_external_url 'http://mattermost.example.com'
mattermost['service_enable_incoming_webhooks'] = true
mattermost['service_enable_post_username_override'] = true
mattermost['service_enable_post_icon_override'] = true
mattermost['service_enable_outgoing_webhooks'] = true
mattermost['service_enable_commands'] = true
```

※二行目以降は Incomming/Outgoing/Slach Command の有効化


----

## FAQ


----

### Gitter が出て今度どうなるの?

Gitter は製品のサポート用、GitLab Mattermost は開発チームのコミュニケーション用。

目的が別なので、GitLab Mattermost も続けるとのこと。

Omnibus Package に Gitter が同梱されるかはわかりません。

※ https://about.gitlab.com/2017/03/15/gitter-acquisition/#qa


----

### バックアップ

Omnibus Package に含まれる GitLab Mattermost は、GitLab のバックアップ機能の対象外です。


----

### Slack アカウントのとの違い

Slack はチームごとにアカウントを作りますが

Mattermost は Mattermost インスタンス内でアカウントを共有します


----

## Mattermost WebRTC Video Chat (BETA) デモ


----

Mattermost には WebRTC を使った Video Chat (BETA) 機能があります

デモをします


----

* 一対一ビデオチャットのみ
* 実験的な実装で、実験が終わったらプラグイン化するそう
* プラグインで別にビデオチャットに変更できるようにする
* Mattermost にはデフォルトのビデオチャットプラグインが含まれる
* スクリーン共有機能も考えているらしい

※ https://docs.mattermost.com/deployment/webrtc.html


----

## 最後に

----

GitLab 本体と違って

Mattermost はチャットなので使ってもらいやすい

Mattermost を中心に GitLab を使ってもらうのも

ありかもしれない


----

## ご清聴、ありがとうございました!