O hirunewani blog

GitHub Dependabot Alertを有効化したらRenovateが対象のPRを投げてくれる

Created at

Dependabot Alertを有効化するだけで、RenovateがセキュリティPRを投げてくれるようになる

概要

GitHubが提供するDependabot Alertを有効化すると、Renovateがその情報を元にPRを投げてくれる。

実際に作られたPRを見ると、GitHub Vulnerability Alertを参照していることが分かる。

alt text

Renovate側の設定は不要。

Dependabot Alertについて

リポジトリの依存関係を分析し脆弱性が見つかると通知してくれるDependabot Alertという機能がGitHubから提供されている。

各リポジトリの「Setteings」→「Secutiry」から有効化できる。

「Dependabot alerts」を有効化しただけだと、修正PRはボタンを押して手動で生成する必要があるが、下にある「Dependabot secutity updates」を有効化するとDependabotに修正PRを自動的に作らせることも出来る。

alt text

DependabotとRenovate

DependabotとRenovateはどちらも依存関係の管理を行えるツール。

ただし、Dependabotは脆弱性データべースを持っているため、Dependabot単体でセキュリティ対応PRを投げることが出来る。

これだけ聞くと、GitHubにも内蔵されているDependabotの方が良いように思えるが、次のような理由でRenovateの採用されることが度々あるように思う。

  • Renovateの方が設定を柔軟に出来る。
  • Dependabotには長く依存関係のグルーピング機能がなかった。
  • GitHubの環境変数がDependabotとその他で分離されている。

Dependabot AlertとRenovateの連携

RenovateではデフォルトでDependabot Alerts連携が有効になっており、Dependabot Alertsを有効化するだけで「Dependabot secutity updates」機能と同様にPRをRenovateが自動的に生成してくれるようになる。

https://docs.renovatebot.com/configuration-options/#vulnerabilityalerts

挙動も「Dependabot secutity updates」と同様であり、scheduleを無視して末尾に[security]と付いたPRが生成される。

Dependabot用に別途設定を書かなくともRenovateのreviewersなどの設定が効くため、Renovateユーザーは「Dependabot secutity updates」を有効化しないようにした方が良いように思う。