Обновления мульти-экосистем позволяют консолидировать Dependabot pull requests между разными экосистемами пакетов в один PR для каждой группы. См . раздел AUTOTITLE.
Необходимые условия
- Репозиторий с зависимостями в нескольких экосистемах пакетов
- Существующий
.github/dependabot.ymlфайл. См . раздел AUTOTITLE.
1. Определите свою мультиэкосистемную группу в вашем .github/dependabot.yml файле
Начните с определения группы с расписанием в разделе верхнего уровня multi-ecosystem-groups :
version: 2
multi-ecosystem-groups:
infrastructure:
schedule:
interval: "weekly"
updates:
# Your existing package ecosystems will go here
version: 2
multi-ecosystem-groups:
infrastructure:
schedule:
interval: "weekly"
updates:
# Your existing package ecosystems will go here
2. Назначить экосистемы группе
Добавьте multi-ecosystem-groups ключи и шаблоны в конфигурации вашей экосистемы пакетов.
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"
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.
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"
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. Проверьте свою конфигурацию
После внесения изменений вы можете проверить конфигурацию:
- Перейдите во вкладку «Инсайты » вашего репозитория.
-
**Выберите граф зависимостей**, затем **Dependabot**. - Убедитесь, что ваша мультиэкосистемная группа указана в списке.
В следующий раз, когда запланированное обновление заработает, вы получите один pull request с обновлениями от всех экосистем группы.
Troubleshooting
Если вы не видите консолидированных pull request, убедитесь, что:
*
patterns Ключ определяется для каждой экосистемы (требуется при использовании multi-ecosystem-group).
- Все
multi-ecosystem-groupэкосистемы используют одинаковое название групп в поле.
Дополнительные материалы
-
[AUTOTITLE](/code-security/dependabot/working-with-dependabot/dependabot-options-reference)