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
dependabotを導入して失敗した話
Search
K1mu21
March 18, 2025
Technology
0
110
dependabotを導入して失敗した話
めぐろLT#25の資料
K1mu21
March 18, 2025
Tweet
Share
More Decks by K1mu21
See All by K1mu21
Rust勉強会1回目の資料
k1mu21
0
47
ギャレトレ勉強会
k1mu21
0
39
リプレイスでやったこと
k1mu21
1
56
Cloudflareいいぞ
k1mu21
1
100
静的解析ツールを導入した話
k1mu21
1
200
WebGLを触ってみよう
k1mu21
1
48
GoのAirを使ってみた話
k1mu21
0
100
学生から社会人1年目を通して
k1mu21
2
230
データベースで沼った話
k1mu21
0
62
Other Decks in Technology
See All in Technology
生まれ変わった AWS Security Hub (Preview) を紹介 #reInforce_osaka / reInforce New Security Hub
masahirokawahara
0
380
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.4k
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
690
「Chatwork」の認証基盤の移行とログ活用によるプロダクト改善
kubell_hr
1
240
プロダクトエンジニアリング組織への歩み、その現在地 / Our journey to becoming a product engineering organization
hiro_torii
0
140
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
110
Lazy application authentication with Tailscale
bluehatbrit
0
130
OpenHands🤲にContributeしてみた
kotauchisunsun
1
500
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
1
2.1k
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
280
How Community Opened Global Doors
hiroramos4
PRO
1
130
Should Our Project Join the CNCF? (Japanese Recap)
whywaita
PRO
0
300
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Rails Girls Zürich Keynote
gr2m
94
14k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
KATA
mclloyd
30
14k
Visualization
eitanlees
146
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Transcript
dependaBotを入れて 失敗した話
Who? • 木村宗吾(K1mu21) ◦ 株式会社ラクーンホールディングス技術戦略部 • バックエンド(+フロントエンド+CI/CD…) ◦ 業務ではJava,PHP ◦
趣味ではGo • 趣味 ◦ ライブ ◦ サウナ • X ◦ @detunote
皆さんライブラリの更新ってどうやってます? 3分で考えた結果、あるなら以下かなーと思っています • dependabotで更新を検知 • 更新があったら手動で頑張る • CVEがでたらそれだけ対応 • 放置...
ウチはどうだったか 正直言うと最後の状態でした • 入れたら放置されてるという状況でかなりよくない状況でした ◦ 原因の一端に、入れた方が最後まで面倒を見る運用方法なのもあると思っている ▪ チーム移動などするとじゃあ面倒を誰が見るのか ▪ ライブラリ更新を検知する仕組みがないので更新の有無を知れない
• SREの方も問題視していた
ライブラリ更新の仕組みを考えた 何があれば楽に更新できるかなと考えた結果、取り合えずDependabotを導入してみ ました • dependabotを使えば自動でライブラリの更新を検知できる • 自動でPRを作ってくれるのでMergeボタンポチで終わり ◦ 誰でもアップデートができるシステムにしたい •
みんな使ってるから信頼できる
よかった点 • ライブラリ更新が自動で検知できるようになった点 • Mergeボタン押すだけでライブラリの更新ができるようになった点 • 導入や、設定がめちゃくちゃ簡単だった点
失敗だった点 gitlabで動くdependabotはGroupsキーが使えないので、1ライブラリに1PR作成されま す • biome.jsonなどの更新ができない! ◦ 毎回ブランチ更新するのだるい • しばらく放置するとPRが大量生産される •
↑大コンフリクト祭りの始まり(次ページ) ◦ 頭おかしなる • Slackに大量のPR作成通知が送信! ◦ うるさい
祭りの詳細
流石にこれは誰もアップデート作業したくないよなぁ... • と導入した自分が実際に感じてました • 上司が通知がうるさくてslack通知が来ないようにしてしまいました • 同期にアップデート作業をお願いして祭りの被害者になってもらった所、終わった 時にはいい顔はされませんでした 多分上司と同期は心の中で自分のことを殴っててもおかしくなさそう ユルシテ...
今は 今はRenovateというツールに乗り換えてアップデートの仕組みを見直し中です 問題点だったPRが分かれている点や、biome.jsonなどのファイルも自動更新してくれ るようになったので大分やりやすくなったはず... 実際に一つのリポジトリのバージョンをjava21とかにしましたが、結構好印象 強いて言うならセキュリティ問題が発生した時にそれ用のPRを作ってくれないのが Dependabotより微妙な点
ついでに(時間あれば) EOLわかるような仕組みってRenovateにない?って上司にいわれてなさそうだったの で自前でスクリプト書いて作りました (ちゃんとしたの導入するとなると金かかりそうだったので...) 自動でソレっぽいのをIssueにあげるようにしたので何もないよりいいはず...
簡単に gitlab https://libraries.io/ このライブラリの 情報ほちい これが最新版の情報や! 最新版の更新1年以上ない じゃん! Issue作ったし確認しろよ!
まとめ ライブラリの検知などができるようになったのでdependabot入れてよかった 導入する前にツールに関してもうちょっと調べるべきだった 作業を楽にするために自動化することで、色々な人がその作業できるようになると言う メリットが一番大きいなと感じました GitHub使いてえ