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
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