The dependabot.yml 文件是可选的配置文件,为您提供对 Dependabot 如何监控和更新仓库中的依赖(主要是版本更新,也包括安全更新)的细粒度控制。
如果您未提供 dependabot.yml 文件,只要在仓库设置中启用了 Dependabot 安全更新,Dependabot 仍然可以为存在漏洞的依赖创建安全更新。但您将无法获得自动的版本更新,也无法控制更新计划或其他配置选项。
The dependabot.yml 文件使用 YAML 语法。如果您对 YAML 还不熟悉并想进一步了解,请参阅了解 YAML 只需五分钟。
注意
Dependabot 警报的配置在仓库或组织的“Settings”选项卡中完成,而不是在 dependabot.yml 文件中,详见配置 Dependabot 警报。
dependabot.yml 文件的作用
The dependabot.yml 文件控制 Dependabot 如何对您的依赖执行更新。通过此文件,您可以
版本更新
- 启用自动版本更新
- 指定要监控的包生态系统和目录
- 设置更新计划
- 自定义拉取请求的标签、指派人、审阅者和提交信息
- 控制要更新或忽略的依赖
- 为私有注册表配置身份验证
安全更新
- 通过标签、指派人和审阅者自定义安全更新的拉取请求
- 定义安全更新的目标分支
- 配置私有注册表身份验证
- 设置打开的拉取请求数量上限
存放 dependabot.yml 文件的位置
您必须把该文件存放在仓库默认分支(通常为 main)的 .github 目录下,路径为 .github/dependabot.yml 或 .github/dependabot.yaml。
dependabot.yml 文件的工作原理
当您在仓库中添加或更新 dependabot.yml 文件时,Dependabot 会读取配置并按照您定义的计划监控指定的包生态系统。当发现可用更新时,它会创建包含依赖更改的拉取请求,并遵循您在配置中指定的任何自定义规则。
配置文件需要为每个要监控的包生态系统提供以下键。
version:顶层字段,指定 Dependabot 配置语法的版本。updates:顶层章节,您在此定义每个要监控更新的包生态系统。package-ecosystem:位于updates下,指定要更新的包管理器(例如 npm、pip 或 Docker)。directoriesordirectory:在每个package-ecosystem条目下定义,指明清单或依赖定义文件所在的目录。schedule.interval:在每个package-ecosystem条目下定义,设置检查版本更新的频率(daily、weekly或monthly)。
基础示例
下面是一个最小的 dependabot.yml 示例文件,用于每日监控 npm 依赖
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
version: 2
updates:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
下一步
- 配置您的仓库,使 Dependabot 自动更新您使用的包,详见配置 Dependabot 版本更新