Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AnyPay ChatOps
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Masaki Iino
March 23, 2018
Technology
1.2k
0
Share
AnyPay ChatOps
社内LT用資料です。
Masaki Iino
March 23, 2018
More Decks by Masaki Iino
See All by Masaki Iino
GCP Composer
iinomasaki
0
260
Istio
iinomasaki
0
1.7k
GolangでAPIドキュメント自動生成
iinomasaki
0
760
LT_Cloud_Functions.pdf
iinomasaki
1
590
Other Decks in Technology
See All in Technology
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
3
110
最低限これだけ押さえれ大丈夫_Claude Enterprise/Team企業展開ガバナンス入門
tkikuchi
1
540
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
960
AIが変えた"品質の守り方"
kkakizaki
13
5.4k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.7k
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
170
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
260
GitHub Copilot のこれまでとこれから: From Copilot to Collaborative Agents
yuriemori
1
230
人が担う「価値」とは?これからの「QA」とは / Human Value and the Future of Quality Assurance
bitkey
PRO
0
140
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
290
AI-DLCを活用した高品質・安全なAI駆動開発実践 / AI Driven Development
yoshidashingo
1
250
なぜハノーバーメッセに行くべきなのか 〜初参加だから語れること〜
tanakaseiya
0
180
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
230
GitHub's CSS Performance
jonrohan
1033
470k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
HDC tutorial
michielstock
2
680
Technical Leadership for Architectural Decision Making
baasie
3
380
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
430
Balancing Empowerment & Direction
lara
6
1.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
150
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
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などの構文解析を導入して、雑な依頼にも対 応させる予定 ◦ ちょっとアホなほうがかわいい