Renovateについて調べた基本的な内容と、導入や設定をする中で事前に知っておきたかったことを備忘として残しておく。
Automated dependency updates. Multi-platform and multi-language.
複数のプラットフォームや言語に対応した、依存更新の自動化ツール。
ユースケースとしては、以下の2点
参照: https://docs.renovatebot.com/getting-started/use-cases/
デフォルトだと、以下の設定になっている
lock fileは、Package managerの実行によって更新される。(Renovate自体にはlock fileを作成する機能はないため)
以下は、例
package.jsonとpackage-lock.jsonがあり、ある依存モジュールがversion 1.0.0だとする1.1.0が利用可能になるpackage.jsonのバージョン指定を変更するnpm installを実行するpackage-lock.jsonを更新するGitHub製のツールなので、GitHub上の機能として動作するところが売り。依存関係の更新ツールとしての機能はシンプル。
Dependency Dashboard, Grouping機能, 対応Platformの多さ, カスタマイズ性など、コミュニティーベースで作られているからこその機能の豊富さが売り。
詳細な機能の比較はこちらを参照。
以下の3種類の選択肢が提供されている。
参照: https://docs.renovatebot.com/getting-started/running/#running-renovate
Mend Renovate App (Mend社が提供するRenovateのホスティングサービス)を使うことで、セルフホストの手間を省いて使用を開始できる。 導入環境や構成によってセルフホストする必要があるかもしれないが、特に制約がなければまずはMend Renovate Appから使い始めてみるとよい。
インストールと設定の方法については、以下の公式ドキュメントを参照。
Installing and onboarding Renovate into repositories
公式 I don’t know where to start + α
config:recommended presetをとりあえず使う
renovate.jsonのデバッグ方法
dependencyDashboard optionをtrueにすることで作成される
config:recommended presetを使用していれば有効化されているIf you want to rebase/retry this PR, check this boxにチェックを入れるrenovate.jsonの定義内容を変更後、再度そのPull Requestに対してRenovateを実行したい場合