Renovateで言語・パッケージのバージョンを最新に保つ
Renovateとは
GitHub Apps - Renovate · GitHub
Repository内のパッケージマネージャのファイルを検査し、記載したパッケージのバージョンが新しくなる度にPRを作成するアプリケーションでです。
ほとんどの言語に対応しています。
得られる恩恵
設定ファイルでPR作成頻度やPRのまとまりを定義でき、アップデートを定型業務化できます。
また定期的にアップデートすることで、
- アップデートのコストが下がる
- 時々、発生していたbugが解消される
という恩恵が受けられます。
設定ファイル例
React×Typescriptのプロジェクトの場合
設定方針
- 毎週金曜日朝にPR作成
- マイナー・パッチバージョンは1つにまとめてPR作成
- Node, Typescriptは別途PR作成
{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:base"], "timezone": "Asia/Tokyo", "automerge": false, "prHourlyLimit": 0, "schedule": ["after 8am on friday", "before 10am on friday"], "dependencyDashboard": true, "packageRules": [ { "groupName": "Minor and Patch Dependencies", "matchUpdateTypes": ["minor", "patch"] }, { "groupName": "Node Version", "matchUpdateTypes": ["minor", "patch"], "matchPackageNames": ["node", "node-version"] }, { "groupName": "Typescript Version", "matchUpdateTypes": ["minor", "patch"], "matchPackageNames": ["typescript"] } ] }
この設定で毎週金曜日午前に、
- メジャーバージョンの更新(破壊的変更あり)は、パッケージごとにPR作成
- マイナー/パッチバージョンの更新は、Node, Typescript, その他 それぞれ1つずつPR作成
が行われます。
是非お試しください。