LoginSignup
7
3

More than 1 year has passed since last update.

たったこれだけGitHubリポジトリのDependabot設定

Last updated at Posted at 2023-01-03

あるリポジトリのDependabot設定をする場合、Settingsの中のCode security and analysisをクリックする。クリックすると次のような設定オプションの一覧が表示される。

Screen Shot 2023-01-03 at 23.54.20.png

Dependabotについての設定用ボタンは3つある。それぞれ有効化する目的は次の通り。

  1. Dependabot alerts : 依存関係に影響を与える脆弱性があるときアラートを受け取る。脆弱性の解決には問題FixのためのDependabotのPull Request (以下、PR)を手動で生成する
  2. Dependabot security updates : Dependabotが問題FixのためのPRを自動で生成することを許可する
  3. Dependabot version update : 依存関係のあるパッケージで新しいバージョンが利用可能になったことが検知されたら最新の状態に保つためにDependabotがPRを自動生成することを許可する

依存関係のあるコードの脆弱性Fixは最低限やりたいところなのでの上記 1 + 2はとりあえず有効化してよいだろう。

3の依存関係のあるコードを最新状態に保つ設定について、もし最新状態に保ちたいならば次の手順で有効化する

3-1. Dependabot version updateボタンをクリックし有効化する

ボタンクリックしただけではEnabledにならない。下記設定ファイルの追加が必要となる。

3-2. dependabot.ymlファイルを.github配下に設置

dependabot.ymlでDependabotのリポジトリスキャンの振る舞いを定義する。例えばGo言語ベースのリポジトリならば次のような内容になる。

.github/dependabot.yml
version: 2
updates:
  - package-ecosystem: "gomod"
    directory: "/"
    schedule:
      interval: "weekly"

ref: Dependabot for Golang based repositories

dependabot.ymlは追加されるとDependabot version updateが有効化される。

なお、dependabot.ymlの詳細な設定オプションについてはdependabot.yml ファイルの構成オプションが参考になる。

一時的にversion updatesを停止する方法

次のようにopen-pull-requests-limit: 0の一行を追加することで一時的にversion updatesを停止できる。

理由: デフォルトでDependabotはバージョン更新に対して最大5つのプルリクエストをオープンする。Dependabot からの未解決のPRが5つあると、Dependabotは未解決の要求の一部がマージまたは閉じられるまで新しい要求を開けない。この制限を変更するにはopen-pull-requests-limitを使う。この設定を活用し0にすることで一時的にversion updatesを停止できる。

version: 2
updates:
  - package-ecosystem: "gomod"
    directory: "/"
    schedule:
      interval: "weekly"
    open-pull-requests-limit: 0

See also: dependabot.yml ファイルの構成オプション - open-pull-requests-limit

最後に、Dependabotで検知されたアラートはリポジトリメニューのSecurityから確認できる。詳しくは、Dependabot アラートの表示と更新が参考になる。

以上、たったこれだけ。

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3