GitHub: Dependabot でパッケージ更新を自動化
August 10, 2022
リポジトリで Dependabot を有効化する #
まずはリポジトリの以下から有効化します。
Insights > Dependency graph > Dependabot > "Enable Dependabot" をクリック
ついつい Settings の方を探してしまいがちだと思いますが、Dependabot は Insights にあることに注意です。
設定ファイル dependabot.yml
を作成する
#
Dependabot を有効化すると “Dependabot version updates aren’t configured yet” というメッセージとともに “Create config file” というボタンがあるはずです。
こちらを押下すると、プロジェクト直下に以下のファイルを作成する画面になります。
[your-project]/.github/dependabot.yml
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: '' # See documentation for possible values
directory: '/' # Location of package manifests
schedule:
interval: 'weekly'
上記を直接編集してコミットしても良いですし、あるいはローカルで上記ファイルを作成後、プッシュやプルリクエストなどで GitHub に反映させても同じです。
これですべての作業は完了です。
dependabot.yml
の例
#
2つほど例を置いておきます。
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'daily'
open-pull-requests-limit: 1
ignore:
- dependency-name: '*'
update-types: ['version-update:semver-major']
- package-ecosystem: github-actions
directory: '/'
schedule:
interval: 'monthly'
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: 'pub'
directory: '/'
schedule:
interval: 'weekly'
👆 pub
パッケージ対応は現在 BETA 版のため enable-beta-ecosystems: true
を記載する必要があります。
参考 #
GitHub Docs #
- Dependabot バージョンアップデートで自動的に依存関係を更新し続ける - GitHub Docs
- Dependabot のバージョンアップデートの設定 - GitHub Docs
- dependabot.yml ファイルの設定オプション - GitHub Docs
GitHub Blog #
- Goodbye Dependabot Preview, hello Dependabot! | The GitHub Blog
- Dependabot version updates can now ignore major/minor/patch releases | GitHub Changelog