Подготовка к кастомизации pull requests
Если вы еще не настроили dependabot.yml файл для репозитория и хотите настроить запросы на вытягивание обновлений безопасности, сначала необходимо:
- Запустите файл в
dependabot.yml``.githubкаталог репозитория. Дополнительные сведения см. в разделе Настройка обновлений версий Dependabot. - Задайте все необходимые ключи. Дополнительные сведения см. в разделе "Обязательные ключи".
- Если вы хотите, чтобы настройка экосистемы пакетов применялось только к обновлениям системы безопасности (и исключению
open-pull-requests-limitобновлений версий), задайте для ключа значение0.
Затем вы можете рассмотреть свои потребности и приоритеты для обновлений системы безопасности и применить сочетание параметров настройки, описанных ниже.
Приоритет значимых обновлений
Чтобы создать более целевой процесс проверки, который определяет приоритеты значимых обновлений, используйте groups для объединения обновлений системы безопасности для нескольких зависимостей в один запрос на вытягивание.
Подробные инструкции см. в разделе "Приоритеты значимых обновлений".
Автоматическое добавление назначаемого
Используется assignees для автоматического добавления отдельных лиц или команд в качестве назначаемого для запросов на вытягивание.
Подробные инструкции см. в статье "Автоматическое добавление назначаемого пользователя".
Автоматическое добавление рецензентов
Чтобы обеспечить оперативное решение обновлений системы безопасности проекта соответствующими командами, вы можете автоматически добавлять рецензентов в запросы на вытягивание Dependabot с помощью файла CODEOWNERS. См . раздел AUTOTITLE.
Добавление меток на запросы на вытягивание с помощью пользовательских меток
Чтобы определить приоритеты конкретных запросов на вытягивание или интегрировать их в конвейеры CI/CD, используйте для labels применения собственных пользовательских меток к каждому запросу на вытягивание.
Подробные инструкции см. в разделе "Запросы на вытягивание меток" с пользовательскими метками.
Добавление префикса для фиксации сообщений
Чтобы интегрироваться с службами автоматизации, обрабатывающими сообщения о фиксации сообщений или заголовках запросов на вытягивание, используйте commit-message для указания префикса, который требуется для сообщений фиксации и заголовков запросов на вытягивание.
Подробные инструкции см. в разделе "Добавление префикса для фиксации сообщений".
Связывание запросов на вытягивание с вехой
Чтобы отслеживать ход выполнения задачи проекта или выпуска, используйте для milestone связывания запросов на вытягивание Dependabotс вехой.
Подробные рекомендации см. в разделе "Связывание запросов на вытягивание" с вехой.
Изменение разделителя в имени ветви запроса на вытягивание
Чтобы убедиться, что имена ветви соответствуют существующим соглашениям вашей команды, используйте pull-request-branch-name.separator для указания разделителя, который нужно использовать Dependabot для имен ветвей.
Подробные инструкции см. в разделе "Изменение разделителя" в имени ветви запроса на вытягивание.
Пример 1. Конфигурация только для обновлений системы безопасности
В этом примере dependabot.yml файл:
- Использует частный реестр для обновлений зависимостей npm.
- Отключает обновления версий для зависимостей, чтобы любые настройки применялись только к обновлениям системы безопасности.
- Настраивается таким образом, что Dependabot применяет пользовательские метки к запросам на вытягивание и автоматически добавляет назначаемые.
- Группит обновления безопасности для зависимостей golang в один запрос на вытягивание.
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds assignees
# - Group security updates for golang dependencies into a single pull request
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 assignees
assignees:
- "user-name"
- package-ecosystem: "gomod"
directories:
- "**/*"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
# Example configuration file that:
# - Uses a private registry for npm updates
# - Ignores lodash dependency
# - Disables version-updates
# - Applies custom labels
# - Adds assignees
# - Group security updates for golang dependencies into a single pull request
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 assignees
assignees:
- "user-name"
- package-ecosystem: "gomod"
directories:
- "**/*"
schedule:
interval: "weekly"
open-pull-requests-limit: 0
groups:
# Group security updates for golang dependencies
# into a single pull request
golang:
applies-to: security-updates
patterns:
- "golang.org*"
Пример 2. Настройка обновлений версий и обновлений системы безопасности
В этом примере dependabot.yml файл:
- Настраивается таким образом, что Dependabot добавляет пользовательские метки как в обновления версий, так и в обновления системы безопасности.
groupsИспользует параметр настройки для создания двух групп ("angular" и "production-dependencies") для группировки нескольких обновлений в один запрос на вытягивание.- Указывает, что
groupsнастройка применяется только кangularобновлениям системы безопасности. - Указывает, что
groupsнастройка применяется только кproduction-dependenciesобновлениям версий.
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"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"
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"
groups:
angular:
# Group security updates for Angular dependencies into a single pull request
applies-to: security-updates
patterns:
- "@angular*"
production-dependencies:
# Group version updates for dependencies of type "production" into a single pull request
applies-to: version-updates
dependency-type: "production"