Skip to main content

Настройка обновлений с несколькими экосистемами для Dependabot

Сократьте количество Dependabot пулл-запросов, которые вы получаете, объединив обновления по нескольким экосистемам в единый, консолидированный pull request.

Кто может использовать эту функцию?

Users with write access

Обновления мульти-экосистем позволяют консолидировать Dependabot pull requests между разными экосистемами пакетов в один PR для каждой группы. См . раздел AUTOTITLE.

Необходимые условия

  • Репозиторий с зависимостями в нескольких экосистемах пакетов
  • Существующий .github/dependabot.yml файл. См . раздел AUTOTITLE.

1. Определите свою мультиэкосистемную группу в вашем .github/dependabot.yml файле

Начните с определения группы с расписанием в разделе верхнего уровня multi-ecosystem-groups :

YAML
version: 2

multi-ecosystem-groups:
  infrastructure:
    schedule:
      interval: "weekly"

updates:
  # Your existing package ecosystems will go here

2. Назначить экосистемы группе

Добавьте multi-ecosystem-groups ключи и шаблоны в конфигурации вашей экосистемы пакетов.

YAML
version: 2

multi-ecosystem-groups:
  infrastructure:
    schedule:
      interval: "weekly"

updates:
  - package-ecosystem: "docker"
    directory: "/"
    patterns: ["nginx", "redis", "postgres"]
    multi-ecosystem-group: "infrastructure"

  - package-ecosystem: "terraform"
    directory: "/"
    patterns: ["aws", "terraform-*"]
    multi-ecosystem-group: "infrastructure"

Примечание.

Используйте ["*"] для включения всех зависимостей.

3. Внесите свои изменения

Зафиксируйте изменения в dependabot.yml файле.

4. Настройка с помощью дополнительных ключей (необязательно)

Вы можете добавлять метки, рецензенты или другие настройки в свои мультиэкосистемные группы. См. assignees и labels.

YAML
multi-ecosystem-groups:
  infrastructure:
    schedule:
      interval: "weekly"
    assignees: ["@platform-team"]
    labels: ["infrastructure", "dependencies"]

updates:
  - package-ecosystem: "docker"
    directory: "/"
    patterns: ["nginx", "redis", "postgres"]
    multi-ecosystem-group: "infrastructure"

  - package-ecosystem: "terraform"
    directory: "/"
    patterns: ["aws", "terraform-*"]
    multi-ecosystem-group: "infrastructure"

Полный список доступных опций см. Справочник по параметрам зависимостей.

5. Проверьте свою конфигурацию

После внесения изменений вы можете проверить конфигурацию:

  1. Перейдите во вкладку «Инсайты » вашего репозитория.
  2.        **Выберите граф зависимостей**, затем **Dependabot**.
    
  3. Убедитесь, что ваша мультиэкосистемная группа указана в списке.

В следующий раз, когда запланированное обновление заработает, вы получите один pull request с обновлениями от всех экосистем группы.

Troubleshooting

Если вы не видите консолидированных pull request, убедитесь, что: * patterns Ключ определяется для каждой экосистемы (требуется при использовании multi-ecosystem-group).

  • Все multi-ecosystem-group экосистемы используют одинаковое название групп в поле.

Дополнительные материалы

  •         [AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference)