Skip to main content

このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2023-01-18. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの向上、新機能の向上を図るために、最新バージョンの GitHub Enterprise にアップグレードします。 アップグレードに関するヘルプについては、GitHub Enterprise サポートにお問い合わせく� さい

依存関係の更新をカスタマイズする

Dependabot が依存関係を維持する方法をカスタマイズできます。

Who can use this feature

People with write permissions to a repository can configure Dependabot for the repository.

**注:** Dependabot セキュリティとバージョンの更新プログラ� は現在プライベート ベータ版であり、変更される可能性があります。 Dependabot アップデートを有効にする手� �については、[アカウント管理チー� にお問い合せく� さい](https://enterprise.github.com/contact)。

注: この機能を使用するには、サイト管理者が your GitHub Enterprise Server instanceの Dependabot updatesを設定する必要があります。 詳細については、「企業に対する Dependabot の有効化」を参照してく� さい。

依存関係の更新のカスタマイズについて

バージョン アップデートを有効にすると、dependabot.yml ファイルにその他のオプションを追� することで、Dependabot を使って依存関係を維持する方法をカスタマイズできます。 たとえば、次のことが可能です。

  • バージョン アップデートの pull request をオープンする曜日を指定する (schedule.day)
  • レビュー担当者、担当者、各パッケージ マネージャーのラベルを設定する (reviewersassigneeslabels)
  • 各マニフェスト ファイルの変更に対するバージョン管理戦略を定義する (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 は、レビュー担当者やアサインされた人なしでプルリクエストを発行します。

reviewersassignees を使うと、パッケージ マネージャーに対して発行されたすべての 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 ファイルの設定オプション」を参照してく� さい。