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
チームで進めるRenovate
Search
katsutomu
May 20, 2021
Programming
0
74
チームで進めるRenovate
katsutomu
May 20, 2021
Tweet
Share
More Decks by katsutomu
See All by katsutomu
githubactions-potetotips.pdf
katsutomu
2
690
CDC Testing試してみた
katsutomu
0
2.8k
Other Decks in Programming
See All in Programming
OSS開発者という働き方
andpad
5
1.7k
Laravel Boost 超入門
fire_arlo
2
210
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
4
1.3k
アセットのコンパイルについて
ojun9
0
110
複雑なドメインに挑む.pdf
yukisakai1225
5
990
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
20
5.1k
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
18
9.9k
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
個人軟體時代
ethanhuang13
0
310
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
130
TDD 実践ミニトーク
contour_gara
1
290
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
800
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Art of Programming - Codeland 2020
erikaheidi
55
13k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Six Lessons from altMBA
skipperchong
28
4k
A better future with KSS
kneath
239
17k
Building Applications with DynamoDB
mza
96
6.6k
Site-Speed That Sticks
csswizardry
10
810
Building Adaptive Systems
keathley
43
2.7k
Transcript
チームで進めるRenovate 2021.05.19 Radiotalk Tech Talk #2
⾃⼰紹介
w ؔࠜࠀయ!LBUTVUPNV w ίωώτגࣜձࣾ"OESPJE&OHJOOFS w "OESPJEॻ͍ͨΓJ04ॻ͍ͨΓ w ࠷ۙίʔνϯάΛͯ͠·͢ ࣗݾհ
さて
ライブラリ更新うまくできて ますか?😄
ママリアプリの状況 • 初回リリースは2014年8⽉で6年ちょい • ライブラリ総数:126 • 最新バージョン使⽤率:69%(88 / 126) ※2021/04時点
ママリアプリの状況 • 初回リリースは2014年8⽉で6年ちょい • ライブラリ総数:126 • 最新バージョン使⽤率:69%(88 / 126) ※2021/04時点
⼈⼒では結構⼤変😱
ママリアプリの状況 • 初回リリースは2014年8⽉で6年ちょい • ライブラリ総数:126 • 最新バージョン使⽤率:69%(88 / 126) ※2021/04時点
楽しちゃおう😆
チームで進めるRenovate
アジェンダ
アジェンダ • 課題の整理 • Renovateの紹介 • ママリアプリでの設定 • 進捗の共有 •
まとめ
課題の整理
課題 • 古いバージョンを使い続 けるとリスクがある • 最新バージョンの機能を 使えず、選択肢を狭めて いる • ライブラリ更新を全て⼿
動でやるのはキツイ
Before / After • 古いバージョンを使い続 けるとリスクがある • 最新バージョンの機能を 使えず、選択肢を狭めて いる
• ライブラリ更新を全て⼿ 動でやるのはキツイ • 最新バージョンに上げて リスクヘッジする • プロダクトや技術の選択 肢の幅を広げる • ライブラリ更新を(⼀部) ⾃動化して楽をしたい
⽬指すところ 定量⽬標 • ライブラリを100%最新バージョンにする + レガシーなライブラリは置き換える 獲得する能⼒ • ⼤規模なアップデートを進める⼒ •
定常的にライブラリを更新する⼒
⽬指すところ 定量⽬標 • ライブラリを100%最新バージョンにする + レガシーなライブラリは置き換える 獲得する能⼒ • ⼤規模なアップデートを進める⼒ •
定常的にライブラリを更新する⼒ Renovateを使おう👍
Renovateの紹介
Renovate is 何? • 依存関係の更新を⾃動化するツール • Multi-platform かつ multi-language •
GitHub, GitLab, Bitbucket Cloud, Bitbucket Server, Azure DevOps and Gitea. • 更新があると⾃動でPull Requestが作られる
None
デフォルトルール • SemVerルール:ライブラリ毎にPRが分けられ、Patchは Minorと同列に扱われる • マルチプロジェクトも個別PRになる • PR作成スケジュールは「いつでも」 • 毎⽇24時間PRが作られる
• reviewerの指定はされない
SemVer補⾜ hogehogeライブラリが0.8.0で • 0.8.1 (patch) • 0.9.0 (minor) • 1.0.0
(major) の更新があると ↓のPRが作られる • 0.9.0 (minor) • 1.0.0 (major)
SemVer補⾜ hogehogeライブラリが0.8.0で • 0.8.1 (patch) • 0.9.0 (minor) • 1.0.0
(major) の更新があると ↓のPRが作られる • 0.9.0 (minor) • 1.0.0 (major) minorにマージされて 0.8.1は作られない
SemVer補⾜ hogehogeライブラリが0.8.0で • 0.8.1 (patch) • 1.0.0 (major) の更新があると ↓のPRが作られる
• 0.8.1 (patch) • 1.0.0 (major)
デフォルトルール(再掲) • SemVerルール:ライブラリ毎にPRが分けられ、Patchは Minorと同列に扱われる • マルチプロジェクトも個別PRになる • PR作成スケジュールは「いつでも」 • 毎⽇24時間PRが作られる
• reviewerの指定はされない
デフォルトルール(再掲) • SemVerルール:ライブラリ毎にPRが分けられ、Patchは Minorと同列に扱われる • マルチプロジェクトも個別PRになる • PR作成スケジュールは「いつでも」 • 毎⽇24時間PRが作られる
• reviewerの指定はされない いい感じに使いたい😓
ママリアプリでの設定
ママリアプリでの設定 • 週1でPull Requestを作る • マルチプロジェクトはPull Requestをまとめる • パッチバージョン更新は全てのライブラリで Pull
Requestをまとめる • 担当者は⾃動アサイン機能を活⽤
週1でPull Requestを作る • ⽕曜⽇の午後5時以降にスケジュール • 1時間に2つまで、上限10でPRを作る • 翌⽇のプランニングのために⽕曜⽇に作る
マルチプロジェクトをまとめる • バージョニングを共有するライブラリでバラバラにPRが 来ると困る • updateTypesで対象レベルを指定できる
Patch更新は⼀つにまとめる • Patchの更新は頻度が多く個別対応は⾟い • SemVer的には影響の⼤きい変更は少ない • たまに地雷踏むけど・・・ • ママリアプリは回帰テストで⼤事な機能はチェックして いる
⾃動reviewer指定を活⽤する • 個⼈もしくはteamでの指定が可能 • team指定で動かず苦戦中 • Github Appsへの権限が不⾜しているっぽい?
で、どうなった?
Before / After • ライブラリ総数:126 • 最新バージョン使⽤率:69% (88 / 126)
※2021/04時点
Before / After • ライブラリ総数:126 • 最新バージョン使⽤率:69% (88 / 126)
※2021/04時点 • ライブラリ総数:125 • 最新バージョン使⽤率:58% ( 74 / 126) ※2021/05時点
Before / After • ライブラリ総数:126 • 最新バージョン使⽤率:69% (88 / 126)
※2021/04時点 • ライブラリ総数:125 • 最新バージョン使⽤率:58% ( 74 / 126) ※2021/05時点 敗北😱
敗因 • PatchバージョンよりMinorのPR先に作られる => まとめたもので数を稼げない • ⾃動Reviewerの設定がうまくいっていない => 関⼼が下がり進捗が悪くな
これから • PatchバージョンのPR作成の優先順位を上げて捌いてみる • ⾃動Reviewerの設定を動かして、⼀⼈当たり2つ/週で捌 く
まとめ
まとめ • ライブラリ⾃動化にRenovateをおすすめした • ママリアプリでの設定を紹介した • 敗因とこれからを紹介した
ご清聴ありがとうございました
Appendix
• https://github.com/renovatebot/renovate • https://docs.renovatebot.com/configuration-options/ • https://github.com/ben-manes/gradle-versions-plugin