chatops@研究室

30
ChatOps@研究室 @hiconyan 香川大学大学院 工学研究科 信頼性情報システム工学専攻 堀内 晨彦

Upload: akihiko-horiuchi

Post on 08-Jul-2015

433 views

Category:

Technology


1 download

DESCRIPTION

「第1回 Hubot×ChatOps勉強会」の発表資料です. ・ JANOG34でChatOpsの話を聞いてHubot触り始めた. ・ 研究室でSensuやGitHubと連携して使ってる. ・ Hubotコミュニティ「HuboLabo」を作ったので紹介.

TRANSCRIPT

Page 1: ChatOps@研究室

ChatOps@研究室 @hiconyan  香川大学大学院 工学研究科  信頼性情報システム工学専攻  堀内 晨彦

Page 2: ChatOps@研究室

自己紹介

l  堀内 晨彦 ほりうち あきひこ

l  うどん大学 情報系 M1

l  普段はクラウド上のロードバランスや オートスケールについて研究中。 研究室のサーバ管理と掃除を担当。

2

Page 3: ChatOps@研究室

もくじ

1.  ChatOpsとの出会い

2. チャットサービス移行大事件

3.  ChatOps事例紹介@研究室

4. デモンストレーション

5.  HuboLaboの紹介

3

Page 4: ChatOps@研究室

もくじ

1.  ChatOpsとの出会い

2. チャットサービス移行大事件

3.  ChatOps事例紹介@研究室

4. デモンストレーション

5.  HuboLaboの紹介

4

Page 5: ChatOps@研究室

Hubot、ChatOpsとの出会い

l  7月のJANOG34@高松にて... 「情報共有ツールの情報共有」

l  ささけんさん、 「メール無双は終わった!」 「チャットしようぜ!」

5

Page 6: ChatOps@研究室

メールが抱える問題

l  大量のメール処理... 奪われる時間、増え続けるスパム

l  謎のビジネス定型文

l  メールはコミュニケーションツール。 もっと良いツールは無いのか?

6

JANOG34 Meeting 「情報共有ツールの情報共有」より

Page 7: ChatOps@研究室

チャットの良いところ

l  メールより気軽、リアルタイム。 無視することができる。

l  アーカイブして後から検索できる。 絵文字も送れる、APIもある。

l  情報共有しつつ作業ログが残る。

7

JANOG34 Meeting 「情報共有ツールの情報共有」より

Page 8: ChatOps@研究室

ChatOpsことはじめ

l  研究室でチャット使ってた。

l  Hubotを使えば良いらしい。

l  JavaScript?CoffeeScript?

「とりあえず、やってみよう!」

8

Page 9: ChatOps@研究室

もくじ

1.  ChatOpsとの出会い

2. チャットサービス移行大事件

3.  ChatOps事例紹介@研究室

4. デモンストレーション

5.  HuboLaboの紹介

9

Page 10: ChatOps@研究室

ChatWorkを使ってたが...

l  アルバイト、サークル、研究室で ChatWorkを使っていた。

l  ChatWorkのadapterあった!

l  が、メッセージ取得APIが未実装... Hubotがチャットに反応できない。

10

Page 11: ChatOps@研究室

どこに移るか

l  世はチャット乱立時代 HipChat、Slack、Typetalk、Idobata

l  条件は「完全無料」であること。 もちろん、adapterもあること。

l  最終的にTypetalkに決定!

11

Page 12: ChatOps@研究室

ところが...

l  Typetalkには「招待機能」が無い! メンバの追加は管理者が手動で...

l  ただ、メンバー追加APIはある!

l  メアド入力ページを作成。 Hubotからメンバー追加APIを叩く。

12

Page 13: ChatOps@研究室

Typetalk招待機能

13

Page 14: ChatOps@研究室

もくじ

1.  ChatOpsとの出会い

2. チャットサービス移行大事件

3.  ChatOps事例紹介@研究室

4. デモンストレーション

5.  HuboLaboの紹介

14

Page 15: ChatOps@研究室

Hubot構成

15

GitLab

研究室

学生プロジェクト

GitHub サークル

Page 16: ChatOps@研究室

Hubot「Huboco」

l  ささけんさん 「ボットには女の子の名前を付ける」 「やる気が出る」

l  ボスも居るので問題無い名前を...

l  「Hubot + 子」でHuboco

16

Page 17: ChatOps@研究室

1Botで複数ルーム対応

l  どのルームでも提供内容は同じ。

l  Herokuのアプリ数制限(5個)...

l  1つのBotを全部のルームに入れちゃえ! 通知するルーム番号を指定する。

17

http://huboco.herokuapp.com/github/hook?room=7853 http://huboco.herokuapp.com/sensu?room=8018

Page 18: ChatOps@研究室

GitHub・GitLab

l  GitHubやGitLabのWebhookを利用。 push、プルリクなどを通知。

l  WebhookからのJSONをパース・整形。

18

GitLab GitHub

Page 19: ChatOps@研究室

Sensu

l  Sensu:モダンなサーバ監視ツール。 アラートをHubotでチャットに流す。

l  アラート(JSON)をHubotにPOST。

19

Page 20: ChatOps@研究室

coffeelint便利!

l  CoffeeScriptに書き慣れてない。 先輩「改造したいけど読みにくい。」

l  rubocop的なのはないの? "coffeelint"があった!

l  jslintのcoffee版。 構文チェックとかしてくれる。

20

Page 21: ChatOps@研究室

もくじ

1.  ChatOpsとの出会い

2. チャットサービス移行大事件

3.  ChatOps事例紹介@研究室

4. デモンストレーション

5.  HuboLaboの紹介

21

Page 22: ChatOps@研究室

22

Hubocoデモンストレーション!

http://github.com/hico-horiuchi/huboco

Page 23: ChatOps@研究室

もくじ

1.  ChatOpsとの出会い

2. チャットサービス移行大事件

3.  ChatOps事例紹介@研究室

4. デモンストレーション

5.  HuboLaboの紹介

23

Page 24: ChatOps@研究室

Hubot始めたころ...

l  Hubotについて聞ける場所が無い... Hubotコミュニティとか無いのかな。

l  ささけんさん「作ったもの勝ち!」

l  Hubotコミュニティ 「HuboLabo」の立ち上げ。

24

Page 25: ChatOps@研究室

HuboLabo

Page 26: ChatOps@研究室

HubotLaboについて

l  作成したbot、script、adapterの 情報をまとめられる・共有できる場所。

l  チャットルームで意見交換。 もちろんHubotにも参加して欲しい!

l  http://hubo-labo.herokuapp.com/

26

Page 27: ChatOps@研究室

まとめ。

Page 28: ChatOps@研究室

まとめ

l  JANOGでChatOpsとの出会い。

l  Hubotを使うためにTypetalkに移行。

l  GitHubやSensuと連携!

l  Hubotのコミュニティ作ったよ。

28

Page 29: ChatOps@研究室

これからやりたいこと

l  チャットの発言をチケット化。

l  ゼミの前日になると通知。 発表者にはリプライを飛ばす。

l  チャットからAnsibleの実行。

l  チャットからRailsのデプロイ。 (プルリクmergeで発火?)

29

Page 30: ChatOps@研究室

ありがとうございました!