【レノベート】

Renovate とは?

💡 依存パッケージの更新をおまかせ!自動PRで常に最新に保つ
📌 このページのポイント
Renovate の自動更新フロー リポジトリ package.json Dockerfile 等 Renovate Bot 新バージョンを検知 → 自動でPR作成 自動PR 変更内容・リリースノート 互換性情報つき 更新ルール設定 自動マージ パッチバージョンは テスト通過で自動マージ グループ化 複数パッケージを 1つのPRにまとめる スケジュール 「月曜日の朝だけ」 など曜日・時間指定
Renovate の自動更新フローのイメージ
ひよこ ひよこ

Renovateって何をしてくれるの?

ペンギン先生 ペンギン先生

プロジェクトが使っているライブラリに新しいバージョンが出たら、自動でプルリクエストを作ってくれるツールだよ。たとえばReact 18.2→18.3が出たら、package.jsonの更新PRが自動で届くんだ

ひよこ ひよこ

手動で更新するのじゃダメなの?

ペンギン先生 ペンギン先生

小さなプロジェクトなら手動でもいいけど、実際のプロジェクトでは数十〜数百の依存パッケージがあるんだ。全部手動で追いかけるのは現実的じゃないし、セキュリティ修正を見逃すと脆弱性が放置されるリスクもあるよ

ひよこ ひよこ

Dependabotっていう似たツールもあるよね?何が違うの?

ペンギン先生 ペンギン先生

DependabotGitHubが提供するもので、GitHub上でだけ使えるんだ。Renovateはオープンソースで、GitLabBitbucket、セルフホストのGitサーバーでも使える。さらにRenovateは更新ルールの設定がとても柔軟で、「マイナーバージョンは自動マージ」「メジャーバージョンは月曜だけ」みたいな細かい制御ができるんだよ

ひよこ ひよこ

PRがたくさん来すぎて大変にならないの?

ペンギン先生 ペンギン先生

そのための機能がいろいろあるよ。複数のパッケージ更新を1つのPRにまとめるグループ化、テストが通ったら自動マージするオートマージ、更新PRを作る曜日を限定するスケジュール機能などで、通知地獄を防げるんだ

ひよこ ひよこ

Renovateを導入するときのコツってあるの?

ペンギン先生 ペンギン先生

最初は自動マージを慎重にして、PRの中身を確認する運用がおすすめだよ。慣れてきたらパッチバージョン(バグ修正)は自動マージ、メジャーバージョン(破壊的変更)は手動レビューという感じで段階的に自動化するといいんだ。あと、Renovateの設定ファイルは正規表現やglob パターンで柔軟にカスタマイズできるから、プロジェクトに合わせて育てていくのがポイントだよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Renovate」って出てきたら「依存パッケージの更新を自動化するツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Renovate」 = 刷新する・改修する
💬 「Renovate」は英語で「リフォームする・刷新する」という意味で、古くなったライブラリを自動で新しくするツールだからこの名前なんだよ
← 用語集にもどる