Dependabotの代替としてRenovateが選ばれることが最近は多いらしい。理由が気になったので調べてみた。
Dependabotとどう使い分けるかの結論
DependabotはGitHub謹製という安心感が大きいのと、設定がシンプル。
どちらが優れているとかじゃないので好みでいい。だけど、以下の特徴に書いた、monorepo, ノイズを減らす、とかに価値を感じるなら、Renovateがいい。あとは、GitHub Actionsでsecretsにアクセスできるというのも選ぶポイントになるかもしれない。
Renovateの特徴
Mend Renovate: Automated Dependency Updates
依存性更新ツール。大きな特徴は以下の3つ。
- Opinionated(設定が空でも動く)
- monorepo構成をサポート
- ノイズを減らすことにフォーカス
Dependabotを比較しての違い
- デフォルトでの振る舞いが定義されているので、設定ファイルが空でも利用できる
- Opinionatedなところが最近のツールっぽい。prettierみたい
- monorepo構成をサポートしている
- テストが通る更新なら自動でマージさせることができる
- minor以下みたいな条件設定ができないから怖いんだけど
- GitHub Actionsでsecretsにアクセスできる
pull_request_target
イベントを使わなくてよかったり、(github.event_name == ‘pull_request_target’ && github.actor == ‘dependabot[bot]’)
の分岐を入れなくてよかったりする
- git-submodules, .circleci/config.ymlとかも対応している
- 対応しているパッケージマネージャーがかなり多い
- Managers - Renovate Docs
- 設定がめちゃめちゃ細かくできる
- PRをグルーピングできる