Renovateのおすすめ設定
IT技術
Renovateとは
ソースコードの依存関係を最新にするため、プルリクエストの自動作成等を行なってくれるツールです。細かいカスタマイズができるのが特徴で、モノレポにも対応しています。
導入方法
公式のリポジトリに手順が書かれてます。基本的に、以下の流れで導入できます。
- Renovateを導入したい環境で、Renovateを有効化
- 設定ファイルを含んだプルリクエストが自動作成される
- 2のプルリクエストの設定ファイルを任意で変更する
- プルリクエストをマージ
おすすめ設定
Renovateは細かい設定ができるのが魅力ですが、どんな設定にするかはチーム内で検討する必要がありますね。
以下に、確認・検討した方が良さそうな設定をピックアップしています。
まずはデフォルトのプリセットの確認を
大体デフォルトでconfig:base
などが拡張されていると思うので、どんな内容が入っているのかこちらで確認してください。
必要に応じて、別の設定に差し替えてもいいと思います。
以下はPRで自動生成されるrenovate.json
の例です。
1{
2 "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 "extends": [
4 "config:base"
5 ]
6}
※config:base
は、config:recommended
にリネームされました(コミット)
基本設定
schedule
Renovateの更新タイミングの設定ができます。
デフォルトは["at any time"]
ですが、曜日や時間の指定、月毎など柔軟に設定可能です。
https://docs.renovatebot.com/configuration-options/#schedule
prConcurrentLimit
同時にオープンされるプルリクエストの最大値の設定です。デフォルトは無制限です。
グルーピング次第でプルリクエストの数は大きく変わるかなと思います。
https://docs.renovatebot.com/configuration-options/#prconcurrentlimit
baseBranches
デフォルトでは、Renovateはリポジトリのデフォルトブランチを対象に動作しますが、もし変更したい場合や複数のブランチを対象にしたい場合は、この設定を変更します。
https://docs.renovatebot.com/configuration-options/#basebranches
reviewers
作成されるプルリクエストにレビュアーを設定できます。
ユーザーやチームなどをアサイン可能です。
https://docs.renovatebot.com/configuration-options/#reviewers
グルーピング
group:allNonMajor
マイナーとパッチバージョンのアップデートをまとめる設定です。
https://docs.renovatebot.com/presets-group/#groupallnonmajor
group:linters
lint系のパッケージのグルーピング設定です。
https://docs.renovatebot.com/presets-group/#grouplinters
group:test
テスト系のパッケージをまとめる設定です。
https://docs.renovatebot.com/presets-group/#grouptest
その他
フレームワークやライブラリのグループ設定も可能で、プリセットも既に用意されてるので、ぜひチェックしてみてください!
https://docs.renovatebot.com/presets-group/
その他
minimumReleaseAge
新しいバージョンがリリースされてから、設定された期間が経過したかチェックします。
インストールしたバージョンが取り下げられる、といった状況を避けるために使われます。
https://docs.renovatebot.com/configuration-options/#minimumreleaseage
※npmにはプリセットがあります。
configMigration
Renovateの設定ファイルに変更が必要な場合、プルリクエストを立ち上げるオプションです(デフォルトはfalse)。
2023年10月ではexperimental状態なので、その点も考慮して検討してください。
https://docs.renovatebot.com/configuration-options/#configmigration
GitHubを利用している場合
platformCommit
GitHubのAPIを利用してコミットします。署名付きコミットが可能になります。
https://docs.renovatebot.com/configuration-options/#platformcommit
vulnerabilityalerts
GitHubのdependabotと連携させて、脆弱性があるパッケージを検知します。
https://docs.renovatebot.com/configuration-options/#vulnerabilityalerts
最後に
いくつかの設定をピックアップして見てきましたが、本当に色々と柔軟で、プロジェクトやチームの状況に合わせた運用ができそうです👀
ただ、最初からベストな設定を求めるのは難しいかと思うので、運用してみて少しずつ変更していくのも良いかなと思います。
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
Webエンジニア
おすすめ記事
immichを知ってほしい
2024.10.31