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

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

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

リポジトリへの書き込み権限を持つユーザは、リポジトリの GitHub Dependabotバージョンアップデート を有効または無効にできます。

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

Did this doc help you?

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.

ノート: GitHub Dependabotバージョンアップデートは現在ベータで、変更されることがあります。 このベータの機能を利用するには、この記事の指示に従ってください。

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

GitHub Dependabotバージョンアップデート を有効にするには、リポジトリの .github ディレクトリにある dependabot.yml 構成ファイルをチェックします。 すると、Dependabot は設定した依存関係を最新の状態に保つためにプルリクエストを発行します。 更新するパッケージマネージャーの依存関係ごとに、パッケージマニフェストファイルの場所と、それらのファイルにリストされている依存関係の更新をチェックする頻度を指定する必要があります。 セキュリティ更新の有効化については、「GitHub Dependabotセキュリティアップデート を設定する」を参照してください。

最初にバージョンアップデートを有効にすると、古くなった依存関係が大量にあり、中には最新バージョンまでにいくつものバージョンが存在しているものもあるかもしれません。 GitHub Dependabot checks for outdated dependencies as soon as it's enabled. 設定が更新するマニフェストファイルの数に応じて、設定ファイルの追加後数分のうちに、バージョンアップデートの新しいプルリクエストが発行されるかもしれません。

To keep pull requests manageable and easy to review, Dependabot raises a maximum of five pull requests to start bringing dependencies up to the latest version. 次にスケジュールされているアップデートの前にこれらの最初のプルリクエストをいくつかマージしたなら、それ以降のプルリクエストは最大で5つ(この上限は変更できます)オープンされます。 詳しい情報については、「依存関係の更新をカスタマイズする」をご覧ください。

Enabling GitHub Dependabotバージョンアップデート

Currently, GitHub Dependabotバージョンアップデート doesn't support manifest or lock files that contain any private git dependencies or private git registries. This is because, when running version updates, Dependabot must be able to resolve all dependencies from their source to verify that version updates have been successful.

  1. dependabot.yml 設定ファイルを作成します。
  2. package-ecosystem を使用して、監視するパッケージマネージャーを指定します。
  3. パッケージマネージャーごとに、以下を使用します。
    • directory: マニフェストまたはその他の定義ファイルの場所を指定します。
    • schedule.interval: 新しいバージョンをチェックする頻度を指定します。
  4. リポジトリ内の .github ディレクトリにある dependabot.yml 設定ファイルを確認します。

dependabot.ymlファイルの例

下記のサンプルの dependabot.yml ファイルは、2 つのパッケージマネージャー(npm と Docker)のバージョン更新を設定しています。 このファイルがチェックインされると、GitHub 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 設定ファイルを含む変更を元のリポジトリからプルするときに、意図せずバージョン更新を有効にすることがなくなります。

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

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

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

バージョン更新を有効にすると、リポジトリの依存関係グラフに新しい Dependabot タブが表示されます。 このタブには、GitHub Dependabot が監視するように設定されているパッケージマネージャーと、Dependabot が最後に新しいバージョンをチェックした日時が表示されます。

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

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

GitHub Dependabotバージョンアップデート を無効にする

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

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

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

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

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

# Docker で無効および npm で制限された
# 更新を含む dependabot.yml ファイル

version: 2
updates:
  # Dockerfile の構成
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      # Docker 依存関係のすべてのプルリクエストを無効にする
    open-pull-requests-limit: 0

  # npm の構成
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    # 「@dependabot ignore」コマンドを使用して作成された無視指定を上書きする
    ignore:
      # 「aws」で始まるパッケージの更新を無視する
      # ワイルドカードを 0 文字以上の任意の文字に一致させる
      - dependency-name: "aws*"
      # 「express」パッケージの更新を無視する
      - dependency-name: "express"
        # 4.x および 5.x の新しいバージョンのみを無視する
        versions: ["4.x", "5.x"]

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

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

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

Did this doc help you?

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.