chatops@研究室
DESCRIPTION
「第1回 Hubot×ChatOps勉強会」の発表資料です. ・ JANOG34でChatOpsの話を聞いてHubot触り始めた. ・ 研究室でSensuやGitHubと連携して使ってる. ・ Hubotコミュニティ「HuboLabo」を作ったので紹介.TRANSCRIPT
ChatOps@研究室 @hiconyan 香川大学大学院 工学研究科 信頼性情報システム工学専攻 堀内 晨彦
自己紹介
l 堀内 晨彦 ほりうち あきひこ
l うどん大学 情報系 M1
l 普段はクラウド上のロードバランスや オートスケールについて研究中。 研究室のサーバ管理と掃除を担当。
2
もくじ
1. ChatOpsとの出会い
2. チャットサービス移行大事件
3. ChatOps事例紹介@研究室
4. デモンストレーション
5. HuboLaboの紹介
3
もくじ
1. ChatOpsとの出会い
2. チャットサービス移行大事件
3. ChatOps事例紹介@研究室
4. デモンストレーション
5. HuboLaboの紹介
4
Hubot、ChatOpsとの出会い
l 7月のJANOG34@高松にて... 「情報共有ツールの情報共有」
l ささけんさん、 「メール無双は終わった!」 「チャットしようぜ!」
5
メールが抱える問題
l 大量のメール処理... 奪われる時間、増え続けるスパム
l 謎のビジネス定型文
l メールはコミュニケーションツール。 もっと良いツールは無いのか?
6
JANOG34 Meeting 「情報共有ツールの情報共有」より
チャットの良いところ
l メールより気軽、リアルタイム。 無視することができる。
l アーカイブして後から検索できる。 絵文字も送れる、APIもある。
l 情報共有しつつ作業ログが残る。
7
JANOG34 Meeting 「情報共有ツールの情報共有」より
ChatOpsことはじめ
l 研究室でチャット使ってた。
l Hubotを使えば良いらしい。
l JavaScript?CoffeeScript?
「とりあえず、やってみよう!」
8
もくじ
1. ChatOpsとの出会い
2. チャットサービス移行大事件
3. ChatOps事例紹介@研究室
4. デモンストレーション
5. HuboLaboの紹介
9
ChatWorkを使ってたが...
l アルバイト、サークル、研究室で ChatWorkを使っていた。
l ChatWorkのadapterあった!
l が、メッセージ取得APIが未実装... Hubotがチャットに反応できない。
10
どこに移るか
l 世はチャット乱立時代 HipChat、Slack、Typetalk、Idobata
l 条件は「完全無料」であること。 もちろん、adapterもあること。
l 最終的にTypetalkに決定!
11
ところが...
l Typetalkには「招待機能」が無い! メンバの追加は管理者が手動で...
l ただ、メンバー追加APIはある!
l メアド入力ページを作成。 Hubotからメンバー追加APIを叩く。
12
Typetalk招待機能
13
もくじ
1. ChatOpsとの出会い
2. チャットサービス移行大事件
3. ChatOps事例紹介@研究室
4. デモンストレーション
5. HuboLaboの紹介
14
Hubot構成
15
GitLab
研究室
学生プロジェクト
GitHub サークル
Hubot「Huboco」
l ささけんさん 「ボットには女の子の名前を付ける」 「やる気が出る」
l ボスも居るので問題無い名前を...
l 「Hubot + 子」でHuboco
16
1Botで複数ルーム対応
l どのルームでも提供内容は同じ。
l Herokuのアプリ数制限(5個)...
l 1つのBotを全部のルームに入れちゃえ! 通知するルーム番号を指定する。
17
http://huboco.herokuapp.com/github/hook?room=7853 http://huboco.herokuapp.com/sensu?room=8018
GitHub・GitLab
l GitHubやGitLabのWebhookを利用。 push、プルリクなどを通知。
l WebhookからのJSONをパース・整形。
18
GitLab GitHub
Sensu
l Sensu:モダンなサーバ監視ツール。 アラートをHubotでチャットに流す。
l アラート(JSON)をHubotにPOST。
19
coffeelint便利!
l CoffeeScriptに書き慣れてない。 先輩「改造したいけど読みにくい。」
l rubocop的なのはないの? "coffeelint"があった!
l jslintのcoffee版。 構文チェックとかしてくれる。
20
もくじ
1. ChatOpsとの出会い
2. チャットサービス移行大事件
3. ChatOps事例紹介@研究室
4. デモンストレーション
5. HuboLaboの紹介
21
22
Hubocoデモンストレーション!
http://github.com/hico-horiuchi/huboco
もくじ
1. ChatOpsとの出会い
2. チャットサービス移行大事件
3. ChatOps事例紹介@研究室
4. デモンストレーション
5. HuboLaboの紹介
23
Hubot始めたころ...
l Hubotについて聞ける場所が無い... Hubotコミュニティとか無いのかな。
l ささけんさん「作ったもの勝ち!」
l Hubotコミュニティ 「HuboLabo」の立ち上げ。
24
HuboLabo
HubotLaboについて
l 作成したbot、script、adapterの 情報をまとめられる・共有できる場所。
l チャットルームで意見交換。 もちろんHubotにも参加して欲しい!
l http://hubo-labo.herokuapp.com/
26
まとめ。
まとめ
l JANOGでChatOpsとの出会い。
l Hubotを使うためにTypetalkに移行。
l GitHubやSensuと連携!
l Hubotのコミュニティ作ったよ。
28
これからやりたいこと
l チャットの発言をチケット化。
l ゼミの前日になると通知。 発表者にはリプライを飛ばす。
l チャットからAnsibleの実行。
l チャットからRailsのデプロイ。 (プルリクmergeで発火?)
29
ありがとうございました!