Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ガーデニングによる継続的バージョンアップ

 ガーデニングによる継続的バージョンアップ

2025/05/14 Money Forward Tech LT大会 vol.3 登壇資料

Avatar for Satoshi Nishino

Satoshi Nishino

April 10, 2026

More Decks by Satoshi Nishino

Other Decks in Programming

Transcript

  1. みなさん、利用している言語やフレームワーク・ ライブラリのバージョンアップできていますか? A re yo u a b l e

    to u p d ate t h e ve rs i o n of yo u r p ro g ra m m i n g l a n g u a ge , f ra m ewo rk s a n d li b rar ie s?
  2. メジャーバージョンアップによる影響が大きく、 EOLまで放置されてしまう、 他の依存関係を解決する上で 必要に迫られて対応するといった 状態になることもままあると思います I b e l i

    eve t h at t h e i m pact of m a jo r ve rs io n u p gra d e s is s o g reat t h at i t is of te n l ef t u n t il E O L , o r i t i s n e ce s s a r y to d ea l w it h i t i n re s o l v i n g ot h e r d e p e n d e n c i e s .
  3. 技 術 的 負 債 と ど う や って

    戦 う か - Q ii ta https://qiita.com/kamykn/ items/ad687e772da454e3f614
  4. 技術的負債を小さく返していくために 私たちのチームでは毎週、 ガーデニングという活動を行なっています I n o rd e r to

    ret u r n a s m a l l a m o u n t of te c h n i ca l d e bt o u r tea m h a s a we e k l y a ct i v i t y cal l e d gard e n i n g .
  5. これは、定期的に依存ライブラリの 最新バージョンを確認し、 更新していくための取り組みです T h i s i s a

    n ef fo r t to reg u l a rl y c h e c k an d u p d ate t h e l ate st ve rs i o n s of d e p e n d e n t l ib ra r ie s .
  6. 依存関係のチェックと更新のPR作成は GitHubのDependabotを利用して 自動化しています D e p e n d e

    n c y c h e c k in g a n d u p d ate P R c reat i o n is a u to m ate d u s i n g D e p e n d a b ot o n G i t H u b.
  7. 各ライブラリのリリースノート・ チェンジログを読み、主に以下の点を確認します 影響のある破壊的変更が含まれていないか 非推奨による影響がないか 既存の課題が解決できる新機能がないか Rea d t h e

    re l ea s e n ote s a n d c h a n ge l o g fo r eac h l ib rar y a n d c h e c k t h e fo l l ow i n g m a in p o in ts : W h et h e r i t co n ta i n s d is ru pt i ve c h an ge s t h at im pact W h et h e r i t i s im pa cte d by d e p re cat io n W h et h e r t h e re a re n ew feat u re s t h at can s o l ve ex i st i n g i s s u e s
  8. そのため、追加作業が必要になることが少ない マイナー・パッチバージョンについては 1PRにまとめるように Dependabotのgroupsを設定しています S o l e s s

    a d d i t i o n a l wo r k is n e e d e d fo r m i n o r o r patc h ve rs io n s to co n s o l i d ate t h e m in to 1 P R D e p e n d a b ot g ro u ps are s et u p.
  9. 基本的には必要な追加作業がある場合も 同PRに含めますが、 影響が大規模になる場合などは PRをクローズしてIssueを立てることもあります B a s i ca l

    l y, a n y a d d it io n al wo rk t h at n e e d s to b e d o n e w i l l b e i n c l u d e d in t h e s a m e P R , b u t i f t h e im pa ct is l a rge , we m a y c l os e t h e P R a n d c reate a n I s s u e .
  10. また、ライブラリ間の依存関係によって Dependabotの自動更新が 機能しない場合もあるため、 その際はoutdatedコマンドなどを利用して 手動で対処します I n a d d

    i t i o n , D e p e n d a b ot ' s a u to m ati c u p d ate s m a y n ot wo r k d e p e n d i n g o n t h e d e p e n d e n c ie s b et we e n l i b ra r i e s , s o in s u c h ca s e s , u s e o u td ate d co m m an d s to m a n u a l l y d ea l w i th t h e p ro b l e m .
  11. ネクストアクションとしては、 ガーデニング作業をDevinのような 自律型AIエージェントに やってもらうことを考えています O u r n ext co

    u rs e of a cti o n i s to h a ve a n a u to n o m o u s A I age n t l i ke D ev in d o t h e ga rd e n i n g wo r k .