Back

Как отключить оповещения Dependabot для репозитория GitHub

Как отключить оповещения Dependabot для репозитория GitHub

Если вы управляете личным проектом, который не обновлялся месяцами, или поддерживаете демонстрационные репозитории в образовательных целях, вы знаете это раздражение: Dependabot постоянно заваливает ваш почтовый ящик уведомлениями о безопасности и открывает pull request’ы для зависимостей, которые вы никогда не собираетесь обновлять. Давайте это исправим.

Это руководство покажет вам, как именно отключить оповещения Dependabot и автоматические pull request’ы для отдельных репозиториев GitHub — как через интерфейс GitHub, так и с помощью конфигурационных файлов. Мы рассмотрим различия между тремя функциями Dependabot и способы отключения каждой из них.

Ключевые моменты

  • Dependabot состоит из трех независимых функций: оповещения, обновления безопасности и обновления версий
  • Вы можете отключить Dependabot через пользовательский интерфейс GitHub или конфигурационные файлы
  • В публичных репозиториях некоторые функции Dependabot могут быть постоянно включены по политике GitHub
  • Рассмотрите селективное отключение для монорепозиториев или частично активных проектов

Понимание трех функций Dependabot

Прежде чем углубляться в то, как отключить Dependabot, крайне важно понимать, что именно вы отключаете. Dependabot — это не одна функция, а фактически три отдельных сервиса:

  1. Оповещения Dependabot: Уведомления об уязвимостях безопасности в ваших зависимостях
  2. Обновления безопасности Dependabot: Автоматические pull request’ы, которые исправляют известные уязвимости
  3. Обновления версий Dependabot: Автоматические pull request’ы, которые поддерживают все зависимости в актуальном состоянии (не только уязвимые)

Каждую можно отключить независимо, что дает вам детальный контроль над тем, какие уведомления и PR вы получаете.

Метод 1: Отключение Dependabot через настройки GitHub

Самый быстрый способ отключить Dependabot — через страницу настроек вашего репозитория. Этот метод идеален для разовых изменений и не требует кода.

Отключение оповещений Dependabot

  1. Перейдите к вашему репозиторию GitHub
  2. Нажмите Settings (если вы его не видите, сначала нажмите выпадающее меню)
  3. На боковой панели найдите раздел “Security” и нажмите Code security and analysis
  4. Найдите “Dependabot alerts” и нажмите Disable

Отключение обновлений безопасности Dependabot

Следуйте тому же пути, что и выше, но ищите “Dependabot security updates”. Нажмите Disable, чтобы остановить автоматические PR по безопасности.

Примечание: Для публичных репозиториев некоторые функции Dependabot могут быть постоянно включены в соответствии с политикой GitHub.

А как насчет обновлений версий?

Обновления версий настраиваются по-другому. Если вы ранее включили их через файл dependabot.yml, вам нужно будет удалить эту конфигурацию или использовать файловый метод, описанный ниже, чтобы отключить их.

Метод 2: Отключение Dependabot с помощью конфигурационных файлов

Для более постоянных или контролируемых версиями изменений используйте конфигурационный файл .github/dependabot.yml. Этот подход идеален, когда вы хотите:

  • Документировать, почему Dependabot отключен
  • Применить единообразные настройки для всех участников команды
  • Селективно отключить определенные функции, сохранив другие

Полное отключение обновлений версий

Чтобы отключить обновления версий Dependabot, установите лимит pull request’ов на ноль:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 0

Эта конфигурация говорит Dependabot проверять обновления, но никогда не открывать pull request’ы. Примените этот паттерн к каждой экосистеме пакетов в вашем проекте (npm, pip, bundler и т.д.).

Отключение обновлений для конкретных зависимостей

Иногда вы хотите сохранить Dependabot активным, но игнорировать определенные проблемные зависимости:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "weekly"
    ignore:
      - dependency-name: "lodash"
      - dependency-name: "react"
        versions: ["16.x", "17.x"]

Удаление всей конфигурации Dependabot

Чтобы полностью отключить обновления версий Dependabot, просто удалите файл .github/dependabot.yml из вашего репозитория. Без этого файла Dependabot вообще не будет проверять обновления версий.

Распространенные сценарии и решения

Архивные или неактивные проекты

Для действительно мертвых проектов отключите все три функции Dependabot через пользовательский интерфейс GitHub. Нет смысла получать оповещения о безопасности для кода, который никогда больше не будет запускаться.

Демонстрационные и образовательные репозитории

Рассмотрите возможность сохранения оповещений Dependabot включенными, но отключения автоматических PR. Таким образом, вы остаетесь в курсе уязвимостей без шума от PR. Студенты или читатели могут видеть предупреждения о безопасности без путаницы от автоматических pull request’ов.

Монорепозитории со смешанной активностью

Используйте подход с конфигурационным файлом для селективного отключения Dependabot для неактивных директорий, сохраняя его активным для поддерживаемого кода:

version: 2
updates:
  - package-ecosystem: "npm"
    directory: "/active-app"
    schedule:
      interval: "weekly"
  - package-ecosystem: "npm"
    directory: "/archived-app"
    schedule:
      interval: "daily"
    open-pull-requests-limit: 0

Важные соображения

Когда вы отключаете функции безопасности Dependabot, вы берете на себя ответственность за ручной мониторинг и обновление уязвимых зависимостей. Для активных проектов рассмотрите эти альтернативы перед полным отключением:

  • Уменьшите частоту обновлений вместо полного отключения
  • Группируйте обновления, чтобы получать меньше, но более крупных PR
  • Используйте правила игнорирования для конкретных зависимостей вместо полного отключения

Помните, что отключение оповещений Dependabot не заставляет уязвимости исчезнуть — это просто останавливает уведомления.

Заключение

Отключение Dependabot просто, независимо от того, предпочитаете ли вы работать через пользовательский интерфейс GitHub или управлять конфигурационными файлами. Ключ в понимании того, какую из трех функций Dependabot вы действительно хотите отключить, и выборе правильного метода для вашего рабочего процесса. Для неактивных проектов агрессивное отключение имеет смысл. Для всего остального рассмотрите селективную конфигурацию вместо полной деактивации.

Часто задаваемые вопросы

Да, вы можете отключить Dependabot для любого репозитория, которым владеете или к которому имеете административный доступ. Перейдите в Settings, затем в Code security and analysis, чтобы включить или отключить функции Dependabot независимо от видимости репозитория.

Отключение Dependabot может повлиять на аналитику безопасности вашего репозитория и рейтинги scorecard. GitHub отслеживает принятие функций безопасности, поэтому отключение оповещений и обновлений может снизить ваши метрики безопасности, хотя это в основном важно для публичных или организационных репозиториев.

Абсолютно. Вы можете повторно включить любую функцию Dependabot в любое время через то же меню Settings или добавив обратно конфигурационный файл dependabot.yml. Ваши предыдущие настройки не сохранятся, поэтому вам нужно будет настроить все заново с нуля.

Understand every bug

Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.

OpenReplay