# 关于 dependabot.yml 文件

dependabot.yml 控制存储库中的自动依赖项更新。

`dependabot.yml`文件是一个可选配置文件，允许您在存储库中精细控制Dependabot和\_安全更新\_等依赖项的监视和更新方式。

`dependabot.yml`如果没有文件，如果已在存储库设置中启用Dependabot，Dependabot security updates仍然可以为易受攻击的依赖项创建安全更新。 但是，不会收到自动版本更新或控制更新计划和其他配置选项。

该文件 `dependabot.yml` 使用 YAML 语法。 如果你是 YAML 新手并想了解更多信息，请参阅[五分钟学会 YAML](https://learnxinyminutes.com/yaml/)。

> \[!NOTE]
> Dependabot alerts 在存储库或组织“设置”选项卡中配置，而非在 `dependabot.yml` 文件中配置，请参阅 [配置 Dependabot 警报](/zh/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-dependabot-alerts)。

## 文件 `dependabot.yml` 的作用

文件 `dependabot.yml` 控制 Dependabot 如何对依赖项执行更新。 使用此文件，可以：

### 关于版本更新

* 启用自动版本更新
* 指定要监视的包生态系统和目录
* 设置更新计划
* 自定义拉取请求标签、分配者、审阅者以及提交消息
* 控制要更新或忽略的依赖项
* 为专用注册表配置身份验证

### 有关安全更新

* 使用标签、分配者和审阅者自定义安全更新拉取请求
* 定义安全更新的目标分支
* 配置专用注册表身份验证
* 对未完结的拉取请求设置限制

## 存储 `dependabot.yml` 文件的位置

必须将此文件存储在默认分支（通常为`.github`）的`main`目录中，位置为`.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` 文件：

```yaml copy
version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
```

## 后续步骤

* 配置存储库，以便 Dependabot 自动更新使用的包，请参阅 [配置 Dependabot 版本更新](/zh/code-security/how-tos/secure-your-supply-chain/secure-your-dependencies/configure-version-updates)