Renovateのshareable config presetを作ってリポジトリに導入するメモ
何故やろうと思ったか
↑の記事で Renovate の存在を知り、導入してみたくなった。
導入したいリポジトリは複数あり、設定は共通化したい。
このため shareable config preset を作ってみることに。
そもそも Renovate とは
Universal dependency update tool that fits into your workflows.
チュートリアル
ドキュメント は分量があるので、先にチュートリアルをやるのがいいかもしれない。
(自分は後になって存在に気付いたので、やってない)
設定ファイル
RenovateのGitHub Appを追加すると、自動で renovate.json を追加するPullRequestを出してくれる。
renovate.json 以外のファイルでも設定ファイルとして認識してくれる。
設定ファイルに指定できるオプション
めっちゃ多い。
Preset
Presetはオプションをまとめたもの。
Renovateで用意されたPreset(Included Presets)と外部でホストされたPresetがある。
Presetは extends に追加する。
Included Presets
カテゴリ:Preset名 のような命名になっている。
基本、カテゴリはドキュメントの「〜 Presets」の「〜」を小文字にしたものになっている。カテゴリが docker だったら、ドキュメントは Docker Presets を見ればよい。
ただし、カテゴリ config は Full Config Presets に、カテゴリ無し( 例: :enableRenovate )は Default Presets になっている。
外部でホストされたPreset
npm-hosted presetsは @username で指定できてカッコいいが、deprecatedらしい。
今回はGitHubでRenovateを使うので、その項目を見る。 1つのPresetのリポジトリに複数ファイルを置いて、リポジトリによって使い分けることもできそう。
どうやってPresetを作るか?
通常、リポジトリ名は renovate-config 。
renovate-configで検索 すると、いくつもリポジトリが出てくる。star数が多いリポジトリを参考にするのも良さそう。
方針
-
config:baseをベースに、設定を追加していく。 - 月1くらいで依存関係を更新してほしい
- 更新時、アプデして間もないバージョンは使われたくない。
作成したrenovate-config