Renovateを使ってみた

公開

Renovate の設定めも

Renovate とは

依存関係の更新を自動化してくれます。同様のツールにDependabotもありますが、Renovate はより細かなことができて便利なようです。

https://docs.renovatebot.com/

インストール(GitHub App)

GitHub で利用するのであれば Marketplace からインストールできます。

https://github.com/apps/renovate

基本的に無料で利用できるのでありがたいですね。

設定

基本的にはプロジェクトのルートにrenovate.jsonを用意して、ここに設定を書き込んでいく形になります(他の方法でも可。たとえばpackage.jsonに記述することも可能)。 この設定項目がやたらと多くてビビります。ぜひ公式をみてみてください。

ここでは(忘れるので)個人的に良さげだなと思った設定項目をメモしておきます…

{
  "extends": ["config:base"],
  "baseBranches": ["develop"],
  "timezone": "Asia/Tokyo",
  "schedule": "every weekend",
  "labels": ["dependencies"],
  "patch": {
    "automerge": true
  },
  "minor": {
    "groupName": "all dependencies"
  },
  "vulnerabilityAlerts": {
    "labels": ["security"]
  },
  "lockFileMaintenance": {
    "enabled": true,
    "schedule": ["before 7pm on the first day of the month"]
  }
}

extends

設定プリセットを継承します。

Renovate には好きな設定をプリセットとして公開できる機能があり、ここでそのプリセットを継承できます。config:baseは Renovate のデフォルトの設定を継承します。

baseBranches

ベースブランチを指定できます(未指定の場合はデフォルトブランチが指定される)。

timezone

タイムゾーンを指定できます。とくに理由がない限りAsia/Tokyoとかにしておけば良さそうです。

schedule

更新頻度を指定できます。every weekendを指定すると毎週末更新を行ってくれます。

labels

Renovate が作成する PR に付けるラベルを指定できます(未指定の場合はラベルなし)。

automerge

trueを指定すると Renovate によって作成された PR が自動的にマージされるようになります。

patch

パッチバージョンの更新に適用する設定を決められます。たとえば、

  "patch": {
    "automerge": true
  }

とするとパッチバージョン更新時のみ PR を自動マージできます。

minor

マイナーバージョン更新時の設定が決められます。

groupName

グループ名を指定できます。

vulnerabilityAlerts

脆弱性のある PR に適用する設定を決められます。たとえば、

  "vulnerabilityAlerts": {
    "labels": [
      "security"
    ]
  },

とすると脆弱性を含む PR のみラベルが security になります。

lockFileMaintenance

"enabled": trueにすると、package-lock.json や yarn.lock などのロックファイルを更新できるようになります。

参考

プロフィール画像
tamaosa

釣りと登山が好き。

About | © 2019 Tamaosa, Built with Gatsby