Renovateを導入してupdate作業を自動化

ロボットがPCを持って操作しているような絵

ブログにRenovateを導入した。

課題感

package.jsonの更新は、auditでチェックされるのでわりと更新しやすいが、github actionのnodeなどのversionチェックができていない。 GitHub Actionを動かして、エラーやワーニングがでてからはじめてversion upしないといけないことが分かるような状態である。よくない。

事前にチェックしたり更新したい。そして自動化したい。 そこでRenovate。

Renovateが作成したGitHubのMRページ

mend Renovateを利用

mend社が、GitHub AppとしてRenovateを無料提供してくれている。導入しやすいためこちらを利用した。

アカウント作成しつつGitHubと連携。私は1リポジトリのみ対象とした。このリポジトリの設定画を開き以下設定にする。

mendサイトのリポジトリの設定画面

ModeInteractiveにすることでPRが作成され、オートマージなどもできるようになる。

スケジュール

スキャンは夜中や週末に実施して、オートマージは週末実施される設定にした。仮にうまく動かなくても対応できるように。 以下はrenovate.jsonの設定。

  "timezone": "Asia/Tokyo",
  "schedule": [
    "after 10pm every weekday",
    "before 5am every weekday",
    "every weekend"
  ],
  "automergeSchedule": [
    "every weekend"
  ],

更新ルール

メジャーアップデートは初期的にはOFFにした。 一定問題ないとなったら、メジャーアップデートも自動更新にしようと思う。 CIで動作保証されるはず。

まとめ

しばらく運用してみて、特に問題なく細かなupdateは自動的に更新されるようになった。便利すぎる。 メジャーバージョンアップも問題なければ実施していきたい。

駄文

来週はJJUG CCC 2024 Springにて登壇するため、東京に行ってくる。 カンファレンスのために遠出するのは久々なので楽しみ。

See Also