关于自定义安全更新的拉取请求
可以自定义 Dependabot 如何提出安全更新的拉取请求,使它们最适合项目的安全优先级和流程。 例如:
- 优化 Dependabot 拉取请求,通过将多个更新分组到单个拉取请求中,优先处理有意义的更新。
- 应用自定义标签以将 Dependabot 的拉取请求整合到现有工作流中。
与版本更新类似,安全更新的自定义选项在 dependabot.yml
文件中定义。 如果已经为版本更新自定义了 dependabot.yml
,则定义的许多配置选项也会自动适用于安全更新。 但是,需要注意以下几个要点:
- Dependabot security updates 始终由安全公告触发,而不是根据你在版本更新的
dependabot.yml
中设置的schedule
运行****。 - Dependabot 仅针对默认分支提出安全更新拉取请求****。 如果配置设置了
target-branch
值,则该包生态系统的自定义项默认将仅适用于版本更新。
如果尚未为仓库配置 dependabot.yml
文件,并且想要自定义安全更新的拉取请求,则必须首先:
- 将
dependabot.yml
文件签入仓库的.github
目录。 有关详细信息,请参阅“配置 Dependabot 版本更新”。 - 设置所有必需的键。 有关详细信息,请参阅必需的键。
- 如果希望包生态系统的自定义项仅适用于安全更新(并排除版本更新),请将
open-pull-requests-limit
键设置为0
****。
然后,可以考虑安全更新的需求和优先级,并应用下面概述的自定义选项组合。
自动添加审阅者和代理人
若要确保项目的安全更新得到相应团队的及时处理,请使用 reviewers
和 assignees
自动将个人或团队添加为拉取请求的审阅者或代理人********。
有关详细指导,请参阅自动添加审阅者和代理人。
使用自定义标签标记拉取请求
若要优先处理特定拉取请求,或将它们整合到 CI/CD 管道中,请使用 labels
将自己的自定义标签应用于每个拉取请求********。
有关详细指导,请参阅使用自定义标签标记拉取请求。
为提交消息添加前缀
若要整合处理提交消息或拉取请求标题的自动化,请使用 commit-message
指定提交消息和拉取请求标题所需的前缀****。
有关详细指导,请参阅为提交消息添加前缀.
将拉取请求与里程碑相关联
若要跟踪项目目标或发布的进度,可使用 milestone
将 Dependabot 的拉取请求与里程碑相关联****。
有关详细指导,请参阅将拉取请求与里程碑相关联。
更改拉取请求分支名称中的分隔符
若要确保分支名称符合团队的现有约定,请使用 pull-request-branch-name.separator
指定你希望 Dependabot 用于分支名称的分隔符****。
有关详细指导,请参阅更改拉取请求分支名称中的分隔符。
示例 1:仅应用于安全更新的配置
在本示例中,dependabot.yml
文件:
- 为 npm 依赖项的更新使用专用注册表。
- 禁用依赖项的版本更新,使任何自定义项都仅应用于安全更新。
- 进行了自定义,使 Dependabot 将自定义标签应用于拉取请求,并自动添加审阅者和代理人。
# Example configuration file that: # - Uses a private registry for npm updates # - Ignores lodash dependency # - Disables version-updates # - Applies custom labels # - Adds reviewers and assignees version: 2 registries: # Define a private npm registry with the name `example` example: type: npm-registry url: https://example.com token: ${{secrets.NPM_TOKEN}} updates: - package-ecosystem: "npm" directory: "/src/npm-project" schedule: interval: "daily" # For Lodash, ignore all updates ignore: - dependency-name: "lodash" # Disable version updates for npm dependencies open-pull-requests-limit: 0 registries: # Ask Dependabot to use the private registry for npm - example # Raise all npm pull requests for security updates with custom labels labels: - "npm dependencies" - "triage-board" # Raise all npm pull requests for security updates with reviewers reviewers: - "my-org/team-name" - "octocat" # Raise all npm pull requests for security updates with assignees assignees: - "user-name"
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds reviewers and assignees
version: 2
registries:
# Define a private npm registry with the name `example`
example:
type: npm-registry
url: https://example.com
token: ${{secrets.NPM_TOKEN}}
updates:
- package-ecosystem: "npm"
directory: "/src/npm-project"
schedule:
interval: "daily"
# For Lodash, ignore all updates
ignore:
- dependency-name: "lodash"
# Disable version updates for npm dependencies
open-pull-requests-limit: 0
registries:
# Ask Dependabot to use the private registry for npm
- example
# Raise all npm pull requests for security updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Raise all npm pull requests for security updates with reviewers
reviewers:
- "my-org/team-name"
- "octocat"
# Raise all npm pull requests for security updates with assignees
assignees:
- "user-name"
示例 2:应用于版本更新和安全更新的配置
在本示例中,dependabot.yml
文件:
- 进行了自定义,使 Dependabot 向版本更新和安全更新添加审阅者和自定义标签。
version: 2 updates: # Keep npm dependencies up to date - package-ecosystem: "npm" directory: "/" schedule: interval: "weekly" # Raise all npm pull requests for security and version updates with custom labels labels: - "npm dependencies" - "triage-board" # Raise all npm pull requests for security and version updates with reviewers reviewers: - "my-org/team-name" - "octocat"
version: 2
updates:
# Keep npm dependencies up to date
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
# Raise all npm pull requests for security and version updates with custom labels
labels:
- "npm dependencies"
- "triage-board"
# Raise all npm pull requests for security and version updates with reviewers
reviewers:
- "my-org/team-name"
- "octocat"