Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AnyPay ChatOps
Search
Masaki Iino
March 23, 2018
Technology
0
1.2k
AnyPay ChatOps
社内LT用資料です。
Masaki Iino
March 23, 2018
Tweet
Share
More Decks by Masaki Iino
See All by Masaki Iino
GCP Composer
iinomasaki
0
250
Istio
iinomasaki
0
1.6k
GolangでAPIドキュメント自動生成
iinomasaki
0
730
LT_Cloud_Functions.pdf
iinomasaki
1
570
Other Decks in Technology
See All in Technology
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
140
AWS CLIの新しい認証情報設定方法aws loginコマンドの実態
wkm2
6
750
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.6k
ディメンショナルモデリングを支えるData Vaultについて
10xinc
1
110
ウェルネス SaaS × AI、1,000万ユーザーを支える 業界特化 AI プロダクト開発への道のり
hacomono
PRO
0
130
初めてのDatabricks AI/BI Genie
taka_aki
0
200
AI駆動開発の実践とその未来
eltociear
0
130
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
2
150
【U/day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
620
コンテキスト情報を活用し個社最適化されたAI Agentを実現する4つのポイント
kworkdev
PRO
1
1.5k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
270
チーリンについて
hirotomotaguchi
6
2.1k
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
50
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Site-Speed That Sticks
csswizardry
13
1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
What's in a price? How to price your products and services
michaelherold
246
13k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Facilitating Awesome Meetings
lara
57
6.7k
Transcript
AnyPay ChatOps 2018/03/23 Iino Masaki
ChatOps
ChatOps ChatOpsとは Chat + Ops(Operations) チャット上でオペレーションを実行可能にすること
ChatOpsへきっかけ
リリース作業 AnyPay(Biz/Paymo)のリリースは週2回 リリースの許可が下りたら開発者はリリー スの準備を始めます リリースよろしく
リリース作業 まずはローカルの作業をgit stashなどで 退避します その後最新のdevelopブランチをローカ ルにPullしてきて、リリースブランチを作 成してPushする Githubにて特定のラベルが付いていて developにはマージされているがリリース されていないPullRequestを探す
PullRequest一覧に対象のPullRequest を表示したら、特性のブックマークレットを 実行して、ブラウザのconsole.logに出力 されたリリース概要をコピーして、リリース PRを作成....
リリース作業 まずはローカルの作業をgit stashなどで 退避します その後最新のdevelopブランチをローカ ルにPullしてきて、リリースブランチを作 成してPushする Githubにて特定のラベルが付いていて developにはマージされているがリリース されていないPullRequestを探す
PullRequest一覧に対象のPullRequest を表示したら、特性のブックマークレットを 実行して、ブラウザのconsole.logに出力 されたリリース概要をコピーして、リリース PRを作成... リリース準備の 三分の一完了
リリース作業 マージ漏れや作り直しが合った場合、作 業のやり直しが発生 マージ漏れあったか ら作り直しよろしく
リリース作業(再 最新のdevelopブランチに切り替えてPull する リリースブランチにマージしてPushする Githubにて特定のラベルが付いていて developにはマージされているがリリース されていないPullRequestを探す PullRequest一覧に対象のPullRequest を表示したら、特性のブックマークレットを 実行して、ブラウザのconsole.logに出力
されたリリース概要をコピーして、リリース PRを更新...
リリース作業 最新のdevelopブランチに切り替えてPull する リリースブランチにマージしてPushする Githubにて特定のラベルが付いていて developにはマージされているがリリース されていないPullRequestを探す PullRequest一覧に対象のPullRequest を表示したら、特性のブックマークレットを 実行して、ブラウザのconsole.logに出力
されたリリース概要をコピーして、リリース PRを更新... むり...
ChatOpsへのきっかけ • リリース負荷が高い ◦ フローが複雑 ◦ ローカルの作業を退避させないといけない ◦ 週2回の高頻度イベント ◦
担当者のパフォーマンスが低下 助けて...
定常的な作業は自動化しよう
ChatOps そこでChatOps Chat + Ops(Operations)
ChatOps
リリース作業 ChatOpsを用いると リリースよろしく
リリース作業 Slackでボットにお願いすればリリースPR 作成完了 マージ漏れや再作成の依頼があっても ボットにお願いすればOK 今すぐリリースするか ら待っとけ
リリース作業 リリースPRマージ後のリリースノート作成 や準備完了のSlack通知がボットからくる あとはリリースボタンをポチるだけ ※実際にはもっとやることあります リリースボタンポチっ て完了です!
ChatOps導入後 • リリース作業の自動化 ◦ 複雑なオペレーションは Bot内に隠蔽 ◦ ローカルの作業はそのままで大丈夫 ◦ Slackに作業ログが残る
楽勝!
ChatOps 機能 • リリース用ブランチ・PullRequestの作成 • リリースノートの作成 • リリース対象ブランチの表示 • 雑談
Slackメッセージがトリガーの機能と 外部サービスのWebhookがトリガーの機能がある
Slackがトリガー • SlackからのメッセージをWebSocketで処理 ◦ Slackユーザーからのメッセージ ◦ Slack Eventのキャッチ
Webhookがトリガー • 外部ツールからの通信をHTTP APIで受け取る ◦ Github Webhook
雑談機能 Slackでお願いしても無反応だと寂しいのでDocomo雑談APIを使用
雑談機能
まとめ • 面倒な作業・定常作業は自動化しよう • ChatOpsだとSlackで作業状況が可視化しやすい • ボットに愛着が湧いてくる • 今後、GCP Natural
Language APIなどの構文解析を導入して、雑な依頼にも対 応させる予定 ◦ ちょっとアホなほうがかわいい