• トップ
  • ブログ一覧
  • 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

    最後に

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

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

    ライトコードでは、エンジニアを積極採用中!

    ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。

    採用情報へ

    おすすめ記事

    エンジニア大募集中!

    ライトコードでは、エンジニアを積極採用中です。

    特に、WEBエンジニアとモバイルエンジニアは是非ご応募お待ちしております!

    また、フリーランスエンジニア様も大募集中です。

    background