Файл dependabot.yml — это опциональный конфигурационный файл, который даёт вам тонкий контроль над тем, как Dependabot отслеживать и обновлять зависимости (в основном обновления версий , а также обновления безопасности) в вашем репозитории.
Без dependabot.yml файла Dependabot можно создавать обновления безопасности для уязвимых зависимостей, если вы включили Dependabot security updates настройки репозитория. Однако вы не получите автоматические обновления версий и не сможете контролировать графики обновлений и другие настройки.
Файл использует синтаксис dependabot.yml YAML. Если вы не знакомы с YAML и хотите узнать больше, см . статью "Сведения о YAML" за пять минут.
Примечание.
Dependabot alerts настроены во вкладке «Настройки» репозитория или организации, а не в `dependabot.yml` файле, см. [AUTOTITLE](/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts).
Что делает файл dependabot.yml
Файл dependabot.yml управляет, как Dependabot выполняется обновления ваших зависимостей. С помощью этого файла вы можете:
Для обновлений версий
- Включить автоматические обновления версий
- Укажите, какие экосистемы и каталоги пакетов следует отслеживать
- Устанавливайте графики обновлений
- Настраивайте метки pull-request, получателей, рецензентов и коммит-сообщения
- Контролируйте, какие зависимости обновлять или игнорировать
- Настройка аутентификации для частных реестров
Для обновлений безопасности
- Настраивайте pull запросы на обновления безопасности с помощью меток, правоназначенцев и рецензентов
- Определить целевые ветки для обновлений безопасности
- Настройка аутентификации в частном реестре
- Установите лимиты на открытые pull requests
Где хранить dependabot.yml файл
Вы должны хранить этот файл в .github каталоге вашего репозитория в ветке по умолчанию (обычно main), по .github/dependabot.yml координатам или .github/dependabot.yaml.
Как dependabot.yml работает файл
Когда вы добавляете или обновляете dependabot.yml файл в своём репозитории, Dependabot он читает конфигурацию и начинает мониторинг указанных экосистем пакетов согласно вашим расписаниям. Когда Dependabot находит доступные обновления, он создаёт pull requests с изменениями зависимостей, следуя любым правилам настройки, которые вы указали в конфигурации.
Конфигурационный файл требует следующих ключей для каждой экосистемы пакетов для мониторинга.
-
** `version` **: Верхнее поле, указывающее синтаксисную версию конфигурации Dependabot. -
** `updates` **: Раздел верхнего уровня, где вы определяете экосистему каждого пакета для мониторинга обновлений. -
** `package-ecosystem` **: Определено в `updates`, указывает, какой менеджер пакетов обновлять (например, npm, pip или Docker). -
** `directories` или `directory`**: Определено под каждой `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