• トップ
  • ブログ一覧
  • Renovateのおすすめ設定
  • Renovateのおすすめ設定

    岡坂(エンジニア)岡坂(エンジニア)
    2023.10.25

    IT技術

    Renovateとは

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

    導入方法

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

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

    おすすめ設定

    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

    最後に

    いくつかの設定をピックアップして見てきましたが、本当に色々と柔軟で、プロジェクトやチームの状況に合わせた運用ができそうです👀

    ただ、最初からベストな設定を求めるのは難しいかと思うので、運用してみて少しずつ変更していくのも良いかなと思います。

    岡坂(エンジニア)

    岡坂(エンジニア)

    おすすめ記事