はじめに
プロジェクトの依存関係のメンテナンスは、開発者の日々の業務の一部です。依存関係のバージョンを手動で確認、更新、テストすることは時間がかかるだけでなく、見落としも起こりやすくなります。この記事では、Renovate を使用して依存関係の更新を完全に自動化する方法を説明します。
目標
- 毎日未明に自動的に依存関係の更新を確認
- PR を自動作成し、マージする(CI 通過後)
- 手動介入なし、バックグラウンドで実行
- 複数リポジトリの統合管理
Renovate のインストール
- GitHub Apps - Renovate にアクセス
- インストール をクリック
- 有効にするリポジトリを選択(すべてまたは特定のリポジトリ)
- 認可を完了
設定ファイル
リポジトリのルートに renovate.json を作成します:
{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": [ "config:recommended", ":automergeAll", ":disableDependencyDashboard" ], "timezone": "Asia/Shanghai", "schedule": ["before 3:00am"]}コミットしてプッシュ:
git add renovate.jsongit commit -m "chore: configure Renovate for automated dependency updates"git push設定の詳細
| オプション | 説明 |
|---|---|
config:recommended | Renovate 公式推奨の基本設定 |
:automergeAll | 核心設定 — すべての更新(メジャーバージョン含む)を自動マージ |
:disableDependencyDashboard | ダッシュボード Issue を無効化し、バックグラウンド実行 |
timezone | タイムゾーンを Asia/Shanghai に設定 |
schedule | 毎日午前 3 時前に実行 |
ワークフロー
毎日午前 3:00 ↓Renovate が package.json の依存関係を確認 ↓利用可能な更新が検出される ↓プルリクエストを自動作成 ↓CI チェックをトリガー ↓CI 通過 → main ブランチに自動マージ ↓翌朝、更新された依存関係を確認マルチリポジトリ設定
複数のプロジェクトに同じ設定ファイルをコピーします:
# 汎用設定を作成cat > renovate.json << 'EOF'{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:recommended", ":automergeAll", ":disableDependencyDashboard"], "timezone": "Asia/Shanghai", "schedule": ["before 3:00am"]}EOF
# 複数リポジトリに適用for repo in repo1 repo2 repo3; do cp renovate.json $repo/ cd $repo && git add . && git commit -m "chore: configure Renovate" && git push cd ..doneよくある質問
PR が自動マージされない?
CI ステータスを確認してください。Renovate はすべての CI チェック通過後にのみマージします。CI が失敗した場合は手動で問題を修正して再実行してください。
すぐに更新をトリガーするには?
- ダッシュボードが有効な場合:Issues → Dependency Dashboard → 更新するパッケージをチェック → Rebase をクリック
- またはスケジュールされた時間の自動実行を待つ
特定の依存関係を除外するには?
設定に除外ルールを追加:
{ "packageRules": [{ "matchPackageNames": ["package-name"], "enabled": false }]}pnpm / yarn / npm のサポート?
Renovate はロックファイルの種類を自動検出するため、追加設定は不要です。
検証
設定をプッシュ後、Renovate は自動的に実行されます(またはスケジュールされた時間を待ちます)。検証手順:
- リポジトリの プルリクエスト ページに移動
- Renovate 作成の PR を確認(タイトル形式:
chore(deps): update ...) - PR の自動マージが有効であることを確認
- CI 通過後に自動マージ
まとめ
たった 5 行の核心設定:
{ "extends": [ "config:recommended", "automergeAll", "disableDependencyDashboard" ], "timezone": "Asia/Shanghai", "schedule": ["before 3:00am"]}完全自動化された依存関係管理を実現し、開発者がビジネスコードに集中できるようにします。
公開日: 2026年2月6日 · 更新日: 2026年2月6日