ドキュメントには頻繁に更新が加えられ、その都度公開されています。本ページの翻訳はまだ未完成な部分があることをご了承ください。最新の情報については、英語のドキュメンテーションをご参照ください。本ページの翻訳に問題がある場合はこちらまでご連絡ください。

バージョンアップデートの有効化と無効化

Dependabot が使用するパッケージを自動的に更新するようにリポジトリを設定できます。

リポジトリへの書き込み権限を持つユーザは、リポジトリの Dependabot version updates を有効または無効にできます。

ここには以下の内容があります:

依存関係のバージョン更新について

Dependabot version updates を有効にするには、リポジトリの .github ディレクトリにある dependabot.yml 構成ファイルをチェックします。 Dependabot then raises pull requests to keep the dependencies you configure up-to-date. 更新するパッケージマネージャーの依存関係ごとに、パッケージマニフェストファイルの場所と、それらのファイルにリストされている依存関係の更新をチェックする頻度を指定する必要があります。 For information about enabling security updates, see "Configuring Dependabot security updates."

最初にバージョンアップデートを有効にすると、古くなった依存関係が大量にあり、中には最新バージョンまでにいくつものバージョンが存在しているものもあるかもしれません。 Dependabotは、有効化されるとすぐに古くなった依存関係をチェックします。 設定が更新するマニフェストファイルの数に応じて、設定ファイルの追加後数分のうちに、バージョンアップデートの新しいPull Requestが発行されるかもしれません。 Dependabotは、設定ファイルに対するその後の変更に対しても更新を実行します。

Dependabotは、アップデートの失敗後にマニフェストファイルを変更した際にもPull Requestを作成することがあります。 これは、アップデート失敗の原因となった依存関係の削除などのマニフェストへの変更によって、新たにトリガーされたアップデートが成功するかもしれないためです。

Pull Requestを管理可能でレビューしやすく保つために、Dependabotは依存関係を最新バージョンにし始めるためのPull Requestを最大で5つまで発行します。 次にスケジュールされているアップデートの前にこれらの最初のPull Requestの一部をマージした場合、残りのPull Requestは上限まで次のアップデート時にオープンとなります。 open-pull-requests-limit設定オプションを設定することによっても、オープンなPull Requestの最大数を変更できます。 詳しい情報については、「依存関係の更新をカスタマイズする」をご覧ください。

セキュリティあるいはバージョンアップデートを実行する際に、エコシステムによってはアップデートが成功したことを検証するためにすべての依存関係をソースから解決できなければならないことがあります。 マニフェストあるいはロックファイルにプライベートの依存関係が含まれているなら、Dependabotはそれらの依存関係がホストされている場所にアクセスできなければなりません。 Organizationのオーナーは、同じOrganization内のプロジェクトに対する依存関係を含むプライベートリポジトリへのアクセス権をDependabotに付与できます。 詳しい情報については「Organizatonのためのセキュリティ及び分析設定の管理」を参照してください。 リポジトリのdependabot.yml設定ファイル中で、プライベートリポジトリへのアクセスを設定できます。 詳しい情報については、「依存関係の更新の設定オプション 」を参照してください。 Additionally, Dependabot doesn't support private GitHub dependencies for all package managers. For more information, see "About Dependabot version updates."

Enabling Dependabot version updates

  1. dependabot.yml 設定ファイルを作成します。 For information, see "Configuration options for dependency updates."
  2. Add a version.
  3. Optionally, if you have dependencies in a private registry, add a registries section containing authentication details.
  4. Add an updates section, with an entry for each package manager you want Dependabot to monitor.
  5. パッケージマネージャーごとに、以下を使用します。
    • package-ecosystem to specify the package manager.
    • directory: マニフェストまたはその他の定義ファイルの場所を指定します。
    • schedule.interval: 新しいバージョンをチェックする頻度を指定します。
  6. リポジトリ内の .github ディレクトリにある dependabot.yml 設定ファイルを確認します。

dependabot.ymlファイルの例

The example dependabot.yml file below configures version updates for two package managers: npm and Docker. このファイルがチェックインされると、Dependabot が、デフォルトブランチのマニフェストファイルで古い依存関係がないかをチェックします。 古い依存関係が見つかった場合、デフォルトブランチに対してプルリクエストを発行して依存関係を更新します。

# 2 つのパッケージマネージャーの最低限の設定を含む
# 基本的な dependabot.yml ファイル

version: 2
updates:
  # npm のバージョン更新を有効にする
  - package-ecosystem: "npm"
    # 「root」ディレクトリで「package.json」と「lock」ファイルを探す
    directory: "/"
    # npm レジストリの更新を毎日(平日)チェックする
    schedule:
      interval: "daily"

  # Docker のバージョン更新を有効にする
  - package-ecosystem: "docker"
    # 「root」ディレクトリで「Dockerfile」を探す
    directory: "/"
    # 週に 1 回更新を確認する
    schedule:
      interval: "weekly"

上記の例では、Docker の依存関係が非常に古い場合、依存関係が最新になるまで daily(毎日)のスケジュールで開始し、その後、毎週のスケジュールに戻すことができます。

フォークのバージョン更新を有効にする

フォークでバージョン更新を有効にする場合は、追加の手順があります。 dependabot.yml 設定ファイルが存在する場合、バージョン更新はフォークで自動的に有効になりません。 これにより、フォークの所有者は、dependabot.yml 設定ファイルを含む変更を元のリポジトリからプルするときに、意図せずバージョン更新を有効にすることがなくなります。

フォークでは、Dependabot を明示的に有効にする必要もあります。

  1. GitHubで、リポジトリのメインページにアクセスしてください。
  2. リポジトリ名の下で Insights(インサイト)をクリックしてください。
    リポジトリのナビゲーションバーのインサイトタブ
  3. 左のサイドバーでDependency graph(依存関係グラフ)をクリックしてください。
    左のサイドバーの依存関係グラフタブ
  4. "Dependency graph(依存関係グラフ)"の下で、Dependabotをクリックしてください。
    依存関係グラフ、Dependabotタブ
  5. [Enable Dependabot] で、[Enable Dependabot] をクリックします。

バージョン更新のステータスを確認する

バージョン更新を有効にすると、リポジトリの依存関係グラフに新しい Dependabot タブが表示されます。 This tab shows which package managers Dependabot is configured to monitor and when Dependabot last checked for new versions.

[Repository Insights] タブ、[Dependency graph]、[Dependabot] タブ

詳しい情報については、「バージョン更新用に設定された依存関係を一覧表示する 」を参照してください。

Dependabot version updates を無効にする

リポジトリから dependabot.yml ファイルを削除することで、バージョン更新を完全に無効にすることができます。 通常、1 つ以上の依存関係やパッケージマネージャーの更新を一時的に無効にする必要がある場合があります。

  • パッケージマネージャー: open-pull-requests-limit: 0 を設定するか、設定ファイル内で関連する package-ecosystem でコメントアウトして無効にします。
  • 特定の依存関係: 更新から除外するパッケージまたはアプリケーションの ignore 属性を追加して無効にします。

依存関係を無効にすると、ワイルドカードを使用して、関連する一連のライブラリを照合できます。 除外するバージョンを指定することもできます。 これは、ライブラリの更新をブロックする必要がある場合や、API の重大な変更をサポートするために作業を保留する必要があるが、使用するバージョンのセキュリティ修正を取得する場合に特に便利です。

一部の依存関係のバージョン更新を無効にする例

以下の dependabot.yml ファイルの例には、一部の依存関係の更新を無効にし、他の更新を続行できるようにするさまざまな方法が含まれています。

# dependabot.yml file with updates
# disabled for Docker and limited for npm

version: 2
updates:
  # Configuration for Dockerfile
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      # Disable all pull requests for Docker dependencies
    open-pull-requests-limit: 0

  # Configuration for npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    # Overwrite any ignores created using `@dependabot ignore` commands
    ignore:
      # Ignore updates to packages that start with 'aws'
      # Wildcards match zero or more arbitrary characters
      - dependency-name: "aws*"
      # Ignore some updates to the 'express' package
      - dependency-name: "express"
        # Ignore only new versions for 4.x and 5.x
        versions: ["4.x", "5.x"]

警告: 設定ファイルのdependabot.ymlignoreオプションを追加する前に、リポジトリがすでに無視の設定(@dependabot ignoreコマンドを使って作成されたもの)を持っていないかを確認してください。 設定ファイルのdependabot.ymlignoreオプションを追加すると、そのパッケージマネージャ、ブランチ、ディレクトリに集中して保存された無視の設定は、すべて上書きされます。

これは、セキュリティとバージョンアップデートの両方に影響します。

既存の無視設定の確認に関する詳細については、「依存関係の更新の設定オプション」を参照してください。

Did this doc help you?

Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

OR, learn how to contribute.