`dependabot.yml` 文件是一个可选配置文件,可让你精细控制 Dependabot 如何监视和更新存储库中的依赖项(主要是_版本更新_,但也包含_安全更新_)。
如果没有 dependabot.yml 文件,如果已在存储库设置中启用了 Dependabot security updates,则 Dependabot 仍可以为易受攻击的依赖项创建安全更新。 但是,不会收到自动版本更新或控制更新计划和其他配置选项。
该文件 dependabot.yml 使用 YAML 语法。 如果你是 YAML 新手并想了解更多信息,请参阅五分钟学会 YAML。
注意
Dependabot alerts 在存储库或组织的“设置”选项卡中配置,而非在 dependabot.yml 文件中配置,请参阅 配置 Dependabot 警报。
文件 dependabot.yml 的作用
`dependabot.yml` 文件控制 Dependabot 如何对依赖项执行更新。 使用此文件,可以:
关于版本更新
- 启用自动版本更新
- 指定要监视的包生态系统和目录
- 设置更新计划
- 自定义拉取请求标签、分配者、审阅者以及提交消息
- 控制要更新或忽略的依赖项
- 为专用注册表配置身份验证
有关安全更新
- 使用标签、分配者和审阅者自定义安全更新拉取请求
- 定义安全更新的目标分支
- 配置专用注册表身份验证
- 对未完结的拉取请求设置限制
存储 dependabot.yml 文件的位置
必须将此文件存储在存储库默认分支的 .github 目录中(通常是 main)。 路径为: .github/dependabot.yml.
文件 dependabot.yml 的工作原理
在存储库中添加或更新 dependabot.yml 文件时,数据变量.product.prodname_dependabot %} 读取配置并开始根据定义的计划监控指定的包生态系统。 当 Dependabot 找到可用的更新时,它会根据你在配置中指定的任何自定义规则,创建具有依赖项更改的拉取请求。
配置文件要求每个包生态系统监视以下密钥。
-
** `version` **:指定 Dependabot 配置语法版本的顶级字段。 -
** `updates` **:用于定义每个需要监视更新的包生态系统的顶级部分。 -
** `package-ecosystem` **:定义在`updates`下,指定要更新的包管理器(例如 npm、pip 或 Docker)。 -
** `directories` 或 `directory`**:在每个 `package-ecosystem` 条目下定义,指定清单或依赖项定义文件的位置。 -
** `schedule.interval` **:在每个 `package-ecosystem` 条目下定义,设置检查版本更新的频率(如 `daily`、`weekly` 或 `monthly`)。
基本示例
以下是一个每日监视 npm 依赖项的最小 dependabot.yml 文件:
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
后续步骤
- 配置存储库,以便 Dependabot 自动更新使用的包,请参阅 配置 Dependabot 版本更新