はじめに
すごく今更感がありますがDependabot
を使用してパッケージの依存関係を
自動でアップデートできることを最近知りました...
実際に自身のリポジトリに反映したいので、ついでに記事も書こうと思います。
Dependabotってなんぞ?
Dependabot
とは簡単に言うとGitHub上で自動的に
プロジェクトが依存しているライブラリのバージョンを上げたPR
を作ってくれるボットさん。
入れておくと定期的に自動でライブラリのアップデートを確認しに行ってくれる便利ボット様なんですね。
確認頻度は調整可能らしい。スゴイネ!!!
Dependabot様を有効化する
では居ても立っても居られないので早速有効化してみます。
手順は以下です。
❶GitHub.com で、リポジトリのメイン ページへ移動
Dependabotを有効にしたいリポジトリへ移動
❷リポジトリ名の下にある設定をクリック
❸サイドバーのセキュリティセクションでコードのセキュリティと分析をクリック
Code security and analysisをクリック
❹Dependabot version updatesの右側にあるEnableをクリック
Enableをクリック
EnableクリックでDependabot構成ファイルのエディターが表示されます
❺Dependabot構成ファイルの変更
必要な設定としては以下の3点です
-
package-ecosystem
: パッケージ マネージャーを指定- npm, yarn, pnpm, ...
-
directory
: マニフェストや他の定義ファイルの場所を指定- package.lockのが配置されているディレクトリ
-
schedule.interval
: 新しいバージョンをチェックする頻度を指定- daily: 毎日
- weekly: 毎週
- monthly: 毎月
基本的な設定はこちらでOKなのでコミットします
❻しばらく待機...
導入は超簡単ですし早速自動アップデートPRを作成してくれています。ス...スゴイネ...
Dependabotを知らなかった今までの自分に腹が立ちました
気になったこと
Dependabotはすごく便利ですが、きちんと運用を考えないといけないなと思う部分もありました
でないとDependabotのPRが放置されたり、闇雲にマージしてしまうと環境が壊れる可能性もありそう...
この辺りの運用方法はまた別途様々なプロジェクトを見て、学ぶ必要がありそうです
余談
依存関係更新のカスタマイズ
先ほどのdependabot.yml
に記載した内容は最小構成です
そのほかにも依存関係をアップデートする際にさまざまなカスタマイズが可能であるようです
PRのレビューワー設定、カスタムラベル、アップデートパッケージのグループ化などなど
この辺りも網羅することでより良いDependabotライフを謳歌できそうですね!素晴らしい!!
GitLabではできないの?
GitLabでも依存関係の自動アップデートはできる?
一応できる
ただ、GitLab独自の依存関係スキャン機能
を使用する場合有料プラン
のみ使用できるらしい
じゃあDependabotをGitLabリポジトリに導入できる?
こちらもできるらしい
ただ、GitLabのネイティブ統合ではないため、GitHub上のDependabotほど
セットアップが迅速かつ簡単ではなく、構成可能性も高くないとのこと...ナルホド...