1. HOME
  2. ブログ
  3. IT技術
  4. Renovateのおすすめ設定

Renovateのおすすめ設定

Renovateとは

ソースコードの依存関係を最新にするため、プルリクエストの自動作成等を行なってくれるツールです。細かいカスタマイズができるのが特徴で、モノレポにも対応しています。

導入方法

公式のリポジトリに手順が書かれてます。基本的に、以下の流れで導入できます。

  1. Renovateを導入したい環境で、Renovateを有効化
  2. 設定ファイルを含んだプルリクエストが自動作成される
  3. 2のプルリクエストの設定ファイルを任意で変更する
  4. プルリクエストをマージ

おすすめ設定

Renovateは細かい設定ができるのが魅力ですが、どんな設定にするかはチーム内で検討する必要がありますね。
以下に、確認・検討した方が良さそうな設定をピックアップしています。

まずはデフォルトのプリセットの確認を

大体デフォルトでconfig:baseなどが拡張されていると思うので、どんな内容が入っているのかこちらで確認してください。
必要に応じて、別の設定に差し替えてもいいと思います。

以下はPRで自動生成されるrenovate.jsonの例です。

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エンジニア。
好きなものはフルーツタルト。

関連記事

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界を変える…! /

Androidエンジニア

\ みんなが使うアプリを創る /

iOSエンジニア