注: この機能を使用するには、サイト管理者が your GitHub Enterprise Server instanceの Dependabot updatesを設定する必要があります。 詳細については、「企業に対する Dependabot の有効化」を参照してく� さい。
依存関係の更新のカスタマイズについて
バージョン アップデートを有効にすると、dependabot.yml ファイルにその他のオプションを追� することで、Dependabot を使って依存関係を維持する方法をカスタマイズできます。 たとえば、次のことが可能です。
- バージョン アップデートの pull request をオープンする曜日を指定する (
schedule.day
) - レビュー担当者、担当者、各パッケージ マネージャーのラベルを設定する (
reviewers
、assignees
、labels
) - 各マニフェスト ファイルの変更に対するバージョン管理戦略を定義する (
versioning-strategy
) - バージョン アップデートの pull requests オープンする回数を、既定の 5 回から最大の回数に変更する (
open-pull-requests-limit
) - バージョン アップデートの pull request をオープンして、既定のブランチの代わりに特定のブランチをターゲットにする (
target-branch
)
構成オプションの詳しい情� �については、「dependabot.yml ファイルの構成オプション」を参照してく� さい。
リポジトリ内の dependabot.yml ファイルを更新すると、Dependabot によって、新しい構成で、すぐにチェックが実行されます。 数分以内に、 [Dependabot] タブに依存関係の更新済みリストが表示されます。リポジトリにある依存関係が多い� �合は、時間がかかることがあります。 バージョン更新に関する新しいプルリクエストが表示されることもあります。 詳しい情� �については、「バージョン更新用に設定された依存関係を一覧表示する」を参照してく� さい。
設定変更によるセキュリティアップデートへの影響
dependabot.yml ファイルをカスタマイズしていると、セキュリティ アップデートに対して発行された pull request の変更点に気づくかもしれません。 これらのプルリクエストは、Dependabot スケジュールではなく、常に依存関係のセキュリティアドバイザリによってトリガーされます。 た� し、バージョン アップデートに別のターゲット ブランチを指定していなければ、関連する構成設定は dependabot.yml ファイルから継承されます。
例については、カスタ� ラベルの設定に関する以下のセクションを参照してく� さい。
スケジュールを変更する
アップデート スケジュールを daily
に設定すると、既定の 05:00 (UTC) に Dependabot で新しいバージョンのチェックが行われます。 schedule.time
を使うと、アップデートのチェックを別の時刻に指定できます (hh:mm
形式)。
次の dependabot.yml ファイルの例では、npm 構成を拡張して、Dependabot で依存関係のバージョン アップデートをチェックするタイミングを指定します。
# dependabot.yml file with
# customized schedule for version updates
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
# Check the npm registry for updates at 2am UTC
schedule:
interval: "daily"
time: "02:00"
レビュー担当者とアサインされた人を設定する
デフォルトでは、Dependabot は、レビュー担当者やアサインされた人なしでプルリクエストを発行します。
reviewers
と assignees
を使うと、パッケージ マネージャーに対して発行されたすべての pull request のレビュー担当者と担当者を指定できます。 Team を指定する� �合は、その Team (Organization を含む) を @mentioning していたように、Team のフル ネー� を使う必要があります。
次の dependabot.yml ファイルの例では、npm のバージョン アップデートとセキュリティ アップデートでオープンしたすべての pull request に 2 人のレビュー担当者と 1 人の担当者が存在するように、npm 構成を変更します。
# dependabot.yml file with
# reviews and an assignee for all npm pull requests
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests with reviewers
reviewers:
- "my-org/team-name"
- "octocat"
# Raise all npm pull requests with an assignee
assignees:
- "user-name"
カスタ� ラベルを設定する
既定では、Dependabot ではすべての pull request を dependencies
ラベル付きで発行します。 複数のパッケージマネージャが定義されている� �合、DependabotはそれぞれのPull Requestに追� のラベルを含めます。 これは、その pull request によってどの言語またはエコシステ� が更新されるかを示します。たとえば、Gradle の更新には java
、Git サブモジュールの更新には submodules
というようになります。 Dependabotは、リポジトリ中の必要に応じて自動的にこれらのデフォルトラベルを作成します。
labels
を使うと、既定のラベルを上書きして、パッケージ マネージャーに対して発行されたすべての pull request に代替ラベルを指定できます。 dependabot.yml ファイルでは新しいラベルを作成できないため、リポジトリ内に代替ラベルが既に存在している必要があります。
次の dependabot.yml ファイルの例では、npm のバージョン アップデートとセキュリティ アップデートでオープンしたすべての pull request にカスタ� ラベルが存在するように、npm 構成を変更します。 また、Docker 設定を変更して、カスタ� ブランチに対するバージョン更新を確認し、そのカスタ� ブランチに対するカスタ� ラベルを使用してプルリクエストを発行します。 セキュリティアップデートは常にデフォルトのブランチに対して行われるため、Docker への変更はセキュリティアップデートのプルリクエストには影響しません。
注: 新しい target-branch
には、更新する Dockerfile が含まれている必要があります。含まれていない� �合、この変更を行うと、Docker のバージョン アップデートが無効になります。
# dependabot.yml file with
# customized npm configuration
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Keep Docker dependencies up to date
- package-ecosystem: "docker"
directory: "/"
schedule:
interval: "weekly"
# Raise pull requests for Docker version updates
# against the "develop" branch. The Docker configuration
# no longer affects security update pull requests.
target-branch: "develop"
# Use custom labels on pull requests for Docker version updates
labels:
- "Docker dependencies"
- "triage-board"
その他の例
詳しい情� �については、「dependabot.yml ファイルの設定オプション」を参照してく� さい。