Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
すべてのリポジトリを監視する魔法
Search
MasayaNakamura
November 28, 2024
Technology
0
68
すべてのリポジトリを監視する魔法
MasayaNakamura
November 28, 2024
Tweet
Share
More Decks by MasayaNakamura
See All by MasayaNakamura
YouはどうしてSREに?
shoppingjaws
0
730
(品質を監視する)SLOと向き合うための武器
shoppingjaws
0
47
リモートで新入社員がゴキゲンに働く方法教えます
shoppingjaws
0
84
Other Decks in Technology
See All in Technology
Agents IA : la nouvelle frontière des LLMs (Tech.Rocks Summit 2025)
glaforge
0
380
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
530
AI駆動開発によるDDDの実践
dip_tech
PRO
0
290
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
300
タグ付きユニオン型を便利に使うテクニックとその注意点
uhyo
2
640
Oracle Cloud Infrastructure:2025年11月度サービス・アップデート
oracle4engineer
PRO
1
120
20251127 BigQueryリモート関数で作る、お手軽AIバッチ実行環境
daimatz
0
430
HIG学習用スライド
yuukiw00w
0
110
AI (LLM) を活用する上で必須級のMCPをAmazon Q Developerで学ぼう / 20251127 Ikuma Yamashita
shift_evolve
PRO
2
100
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
780
Symfony AI in Action
el_stoffel
2
370
AI/MLのマルチテナント基盤を支えるコンテナ技術
pfn
PRO
5
730
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Designing Experiences People Love
moore
142
24k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Producing Creativity
orderedlist
PRO
348
40k
Docker and Python
trallard
46
3.7k
Facilitating Awesome Meetings
lara
57
6.7k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
GitHub's CSS Performance
jonrohan
1032
470k
Transcript
すべてのリポジトリを管理する魔法 @ShoppingJaws / かいもの 監視
自己紹介 名前:@ShoppingJaws / かいもの 所属:スタディスト 役割:SRE 主食:CI/CD,IaC,DevOps 他 :SRE NEXT運営 好きなツール:1Password,aqua
本名がタガログ語で ”かいもの上手”(意訳)って意味
背景 - どちらかというとPolyレポ環境 - メンテ対象のリポジトリの数は30くらい(多分) - 弊社のリポジトリはIaCで管理されている - wetなmanifestを保つために検証環境を立ち上げると、Botが自動でいろいろなリ ポジトリにPushする
負債 - 脆弱性検知の通知を見逃しがち - ちゃんと設定しないと通知されない - FailureしているActionsに気付けない - リポジトリ間で相互に作用する仕組みがあり、Push先以外でFail する
- 全部にif: failureを導入し、徹底するのがむずい - リポジトリ一つ一つに手作業で設定をし続けるのは大変 - 作業は30秒で終わるけど、x30となると話が違う 漏れなく、特定のイベントだけ監視したい
アイデア - Github Webhookが使えそうだけど - SlackがNestedなJSONを受付ない仕様 - Webhookの通知すべてを知りたい訳じゃない - dependabot_alert
イベントはopen/closeなど事ある毎にWebhookを とばしてくる - リポジトリをIaC管理しているので、宣言的に通知を設定したい - 対象リポジトリに抜け漏れなく導入
何したの LTなのでいろいろ端折って
GitHub Webhook ->Lambda -> Slack Workflow
Lambdaの処理 平滑化 NestedなJSONを1階層しかないJSONへ変換 →SlackWebhookはフラットなJSONしか受け取ってくれない仕様 例)repository.name => repository-name 条件フィルタ クエリパラメータで渡された条件を元にSlackへ転送するか判断 例)dependabot_alertなら、https://<lambdaURL>?alert.state=open
github_repository_webhookに宣言的に通知を記述できるようになった
結論 リポジトリを作る時に宣言するだけで、通知が飛ぶようになった ここにあるイベントであれば通知 できるはず PushイベントだけはLambdaの 同時実行Quotaを念の為確認し ておいた方がよい
EOF あれ、これも負債では?