`dependabot.yml`文件是一个可选配置文件,允许您在存储库中精细控制Dependabot和_安全更新_等依赖项的监视和更新方式。
`dependabot.yml`如果没有文件,如果已在存储库设置中启用Dependabot,Dependabot security updates仍然可以为易受攻击的依赖项创建安全更新。 但是,不会收到自动版本更新或控制更新计划和其他配置选项。
该文件 dependabot.yml 使用 YAML 语法。 如果你是 YAML 新手并想了解更多信息,请参阅五分钟学会 YAML。
注意
Dependabot alerts 在存储库或组织“设置”选项卡中配置,而非在 dependabot.yml 文件中配置,请参阅 配置 Dependabot 警报。
文件 dependabot.yml 的作用
文件 dependabot.yml 控制 Dependabot 如何对依赖项执行更新。 使用此文件,可以:
关于版本更新
- 启用自动版本更新
- 指定要监视的包生态系统和目录
- 设置更新计划
- 自定义拉取请求标签、分配者、审阅者以及提交消息
- 控制要更新或忽略的依赖项
- 为专用注册表配置身份验证
有关安全更新
- 使用标签、分配者和审阅者自定义安全更新拉取请求
- 定义安全更新的目标分支
- 配置专用注册表身份验证
- 对未完结的拉取请求设置限制
存储 dependabot.yml 文件的位置
必须将此文件存储在默认分支(通常为main)的.github目录中,位置为.github/dependabot.yml 或.github/dependabot.yaml。
文件 dependabot.yml 的工作原理
在存储库中添加或更新 dependabot.yml 文件时, 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 版本更新