Renovateを使ってパッケージ更新を自動化したいので調査した
このとき、renovate.json
に以下の設定をしてみたが、よくわかってなかったので深ぼる
{ "extends": ["config:base"] }
上の設定は下と同意らしいので、各パラメータについて調べた
{ "extends": [ ":separateMajorReleases", ":combinePatchMinorReleases", ":ignoreUnstable", ":prImmediately", ":semanticPrefixFixDepsChoreOthers", ":updateNotScheduled", ":automergeDisabled", ":ignoreModulesAndTests", ":autodetectPinVersions", ":prHourlyLimit2", ":prConcurrentLimit20", "group:monorepos", "group:recommended", "helpers:disableTypesNodeMajor", "workarounds:all" ] }
▼ separateMajorReleases
dependencyのメジャーバージョンを別々のブランチにしてPRする
▼ combinePatchMinorReleases
同じdependencyに対して、パッチとマイナーアップグレードを別々のブランチにしてPRしない
▼ ignoreUnstable
既存のバージョンが不安定な場合は、不安定なバージョンにアップグレードする
▼ prImmediately
ブランチつくったらすぐにPRあげる
▼ semanticPrefixFixDepsChoreOthers
semantic commitsを検出し、dependencyに関するコミットならばfix
を、それ以外のコミットならchore
のプレフィックスをつける
▼ updateNotScheduled
スケジューリングされていなくても更新する
▼ automergeDisabled
自動でマージしない
▼ ignoreModulesAndTests
node_modules
、bower_components
、vendor
、およびさまざまなtest / tests
ディレクトリを無視
{ "ignorePaths": [ "**/node_modules/**", "**/bower_components/**", "**/vendor/**", "**/examples/**", "**/__tests__/**", "**/test/**", "**/tests/**", "**/__fixtures__/**" ] }
▼ autodetectPinVersions
dependencyを固定するか範囲を維持するかをauto
にする
{ "rangeStrategy": "auto" }
▼ prHourlyLimit2
PRの作成を1時間あたり最大2つに制限
▼ prConcurrentLimit20
いつでも最大20のオープンPRに制限
▼ group:monorepos
モノレポパッケージは一緒にする
▼ vgroup:recommended
推奨される非モノレポパッケージグループの厳選されたリストを使用する
▼ helpers:disableTypesNodeMajor
@types/node
のメジャーアップグレードをしないようにする
{ "packageRules": [ { "matchPackageNames": [ "@types/node" ], "matchUpdateTypes": [ "major" ], "enabled": false } ] }
▼ workarounds:all
ドキュメントみつけられなかった。(回避策?)