Skip to main content

Поддерживаемые экосистемы и репозитории Dependabot

Dependabot поддерживает различные экосистемы и репозитории

В этой статье предоставляется справочная информация об экосистемах пакетов и типах репозиториев, которые поддерживает Dependabot.

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

Поддерживаемые экосистемы, поддерживаемые GitHub

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

Примечание.

Чтобы гарантировать, что GitHub Enterprise Server поддерживает Dependabot updates для последних поддерживаемых версий экосистем, владелец предприятия должен скачать последнюю версию действия Dependabot. Дополнительные сведения о действии и инструкции о том, как скачать последнюю версию, см. в разделе Использование последней версии официальных пакетных действий.

Примечание.

  • При обновлении системы безопасности или версий некоторые экосистемы должны иметь возможность разрешить все зависимости от источника, чтобы убедиться, что обновления успешно выполнены. Если файлы манифеста или блокировки содержат какие-либо частные зависимости, Dependabot должен иметь доступ к расположению, в котором размещаются эти зависимости. Владельцы организации могут предоставлять Dependabot доступ к частным репозиториям, содержащим зависимости для проекта, в той же организации. Дополнительные сведения см. в разделе Управление параметрами безопасности и анализа для организации. Вы можете настроить доступ к частным реестрам в файле конфигурации репозитория dependabot.yml . Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.
  • Dependabot не поддерживает частные зависимости GitHub для всех менеджеров пакетов. Подробные сведения см. в таблице ниже.

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

Диспетчер пакетовЗначение YAMLПоддерживаемые версииОбновления версийОбновления для системы безопасностиЧастные репозиторииЧастные реестрыВендоринг

Булочка | bun | >=v1.1.39 | | | | | | | | Средство увязки программ в пакеты | bundler | Версия 2 | | | | | |

Груз | cargo | Версия 1 | | | | | | Composer | composer | Версия 2 | | | | | | | |

Контейнеры разработки | devcontainers | Нет данных | | | | | |

Docker | docker | Версия 1 | | | | | Нет данных | | |

Docker Compose | docker-compose | Версии 2, 3 | | | | | Нет данных | | | пакет SDK .NET | dotnet-sdk | >=.NET Core 3.1 | | | Нет данных | Нет данных | Нет данных |

Диаграммы Helm | helm | не поддерживается | | | | | Нет данных | Hex | mix | Версия 1 | | | | | | | | Пакет ELM | elm | Версия 0.19 | | | | | | Субмодуль Git | gitsubmodule | Нет данных | | | | | Нет данных | GitHub Actions | github-actions | Нет данных | | | | | Нет данных | Модули Go | gomod | Версия 1 | | | | | |

Градл | gradle | Нет данных | | | | | |

Maven | maven | Нет данных | | | | | | | | npm | npm | v7, v8, v9, v10, v11 | | | | | |

NuGet | nuget | <=6.12.0 | | | | | | | |

pip | pip | 24,2 | | | | | | pipenv | pip | 2024.4.1 | | | | | |

pip-compile | pip | 7.5.3 | | | | | | | pnpm | npm | v7, v8, v9, v10 | | | | | |

Поэзия | pip | Версия 2 | | | | | | | |

pub | pub | Версия 2 | | | | | | | |

Swift | swift | v5 | | | | (только git) | |

Terraform | terraform | >= 0.13, <= 1.13.x | | | | | Нет данных | | | ультрафиолетовый | uv | v0 | | | | | Нет данных | | | | |

пряжа | npm | v1, v2, v3, v4 | | | | | |

Совет

Для таких диспетчеров пакетов, как pipenv и poetry, необходимо использовать pip значение YAML. Например, если вы используете poetry для управления Python зависимостями и хотите Dependabot для мониторинга файла манифеста зависимостей для новых версий, используйте package-ecosystem: "pip" в файле dependabot.yml.

Для дополнительной информации о поддержке экосистемы для Dependabot security updatesсм. также AUTOTITLE.

Булочка

Dependabot поддерживает текущий bun.lock стандартный текстовый файл, но не устаревший бинарный bun.lockb файл. Файл bun.lock поддерживается в версии 1.1.39 и выше. Дополнительные сведения см. в документации по Bun.

Груз

Поддержка частных реестров включает реестры грузов, чтобы вы могли Dependabot поддерживать зависимости от Rust up-toдате. Дополнительные сведения см. в разделе Руководство по настройке частных реестров для Dependabot.

Контейнеры разработки

Вы можете использовать devcontainers в качестве package-ecosystem файла для dependabot.yml обновления компонентов в devcontainer.json файлах конфигурации. Для получения дополнительной информации об этой поддержке и примеров конфигурационных файлов см. раздел «Общая доступность Dependabot интеграции » в документации контейнеров разработки.

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

Этот средство обновления гарантирует, что компоненты закреплены до последней major версии в связанном devcontainer.json файле. Если контейнер разработки имеет файл блокировки, этот файл также будет обновлен. Дополнительные сведения о спецификациях lockfile см. в разделе Lockfiles в репозитории devcontainers/spec .

Функции в любом допустимом расположении контейнера разработки будут обновлены в одном запросе на вытягивание. Дополнительные сведения о спецификации контейнера разработки см. в документации по контейнерам разработки.

Docker

Dependabot может добавлять метаданные из образов Docker в запросы на обновления версий. Метаданные включают заметки о выпуске, журналы изменений и журнал фиксации. Администраторы репозитория могут использовать метаданные для быстрой оценки риска стабильности обновления зависимостей.

Для Dependabot получения метаданных Docker сопровождающие изображения Docker должны добавить метку org.opencontainers.image.source в свой файл Docker, а также указать URL исходного репозитория. Кроме того, поддержку должны пометить репозиторий с теми же тегами, что и опубликованные образы Docker. Пример см. в репозитории dependabot-fixtures/docker-with-source . Дополнительные сведения о метках Docker см. в разделе "Метки образов расширения" и BUILDX_GIT_LABELS в документации По Docker.

Dependabot может обновлять теги изображений Docker в манифестах Kubernetes. Добавьте запись в элемент Docker файла package-ecosystem для каждого каталога, содержащего манифест Kubernetes, который ссылается на теги изображений Dockerdependabot.yml. Манифесты Kubernetes могут быть файлами YAML развертывания Kubernetes или диаграммами Helm. Сведения о настройке dependabot.yml файла dockerсм. в разделе "package-ecosystem" в Справочник по параметрам зависимостей.

Dependabot поддерживает как публичные, так и частные реестры Docker. Список поддерживаемых реестров см. в разделе "docker-registry" в Настройка доступа к частным реестрам для Dependabot.

Dependabot parses image tags Docker for Semantic Versioning (SemVer). Если Dependabot обнаружит тег с предрелизом, то будет только предложение обновления до последней версии с соответствующим пререлизом, и не будет предусматривать более новую версию с другим предрелизным ярлыком. Дополнительные сведения см dependabot-docker. в файле README.md в репозитории dependabot/dependabot-core .

Docker Compose

Dependabot поддерживает Docker Compose аналогично Docker. Дополнительные сведения см. в разделе Docker.

GitHub Actions

Dependabot поддерживает обновления версий с GitHub Actions такими оговорками.

  • Dependabot поддерживает обновления только до GitHub Actions с использованием синтаксиса репозитория GitHub, например actions/checkout@v6 или actions/checkout@<commit> . Dependabot игнорирует действия или повторно используемые рабочие процессы, на которые ссылается локально (например, ./.github/actions/foo.yml).
  • Dependabot обновляет документацию версии GitHub Actions, когда комментарий находится в той же строке, например actions/checkout@<commit> #<tag or link> или actions/checkout@<tag> #<tag or link>.
  • Если используемый вами коммит не связан ни с одним тегом, Dependabot обновит GitHub Actions до последнего коммита (который может отличаться от последнего релиза).
  • Docker Hub и GitHub Packages Container registry URL-адреса в настоящее время не поддерживаются. Например, ссылки на действия контейнера Docker с использованием docker:// синтаксиса не поддерживаются.
  • Dependabot поддерживает общедоступные и частные репозитории для GitHub Actions. Параметры конфигурации частного реестра см. в разделе "git" в Справочник по параметрам зависимостей.

Для получения дополнительной информации о использовании Dependabot version updates с GitHub Actions, см. Справочник по безопасному использованию.

Gradle

Dependabot поддерживает обновления следующих файлов без необходимости запуска Gradle:

  • build.gradle, build.gradle.kts (для проектов Kotlin)
  • gradle/libs.versions.toml (для проектов с использованием стандартного каталога версий Gradle)
  • gradle.lockfile (для проектов, использующих блокировку зависимостей Gradle)
  • Файлы, включенные apply через объявление, которое содержится dependencies в имени файла. Обратите внимание, что apply не поддерживает apply to, рекурсию или расширенные синтаксисы (например,apply в Kotlin с mapOf, имена файлов, определенные свойством).

Чтобы обновить Gradle Wrapper, Dependabot запускается Gradle и обновляется:

  • gradle/wrapper/gradle-wrapper.properties
  • gradlew
  • gradlew.bat
  • gradle/wrapper/gradle-wrapper.jar

Dependabot Использует pom.xml информацию из файла зависимостей для добавления ссылок на информацию релизов в запросах на обновления. Если информация отсутствует в pom.xml файле, то она не может быть включена в Dependabot pull requests, см. Метаданные пакета Java для обновлений Dependabot.

Для Dependabot security updates, поддержка Gradle ограничена ручной загрузкой данных графа зависимостей с API отправки зависимостейиспользованием . Дополнительные сведения см. в API отправки зависимостейразделе Использование API отправки зависимостей.

Примечание.

  • Когда вы загружаете зависимости Градля в граф зависимостей, используя API отправки зависимостей, загружаются все зависимости проекта, даже транзитивные зависимости, которые явно не упоминаются ни в одном файле зависимостей. Когда оповещение обнаружено в транзитивной зависимости, Dependabot не может найти уязвимую зависимость в репозитории и, следовательно, не создаёт обновления безопасности для этого оповещения.

Dependabot version updates однако будет создавать pull request, когда родительская зависимость явно объявлена прямой зависимостью в манифесте проекта.

Диаграммы Helm

Dependabot Поддерживает использование имени пользователя и пароля для реестров. Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.

Этот helm-registry тип поддерживает только HTTP Basic Auth и не поддерживает реестры, совместимые с OCI. Если вам нужно получить доступ к реестру, совместимому с OCI, для карт Helm, настройте вместо этого.docker-registry Дополнительные сведения см. в разделе Настройка доступа к частным реестрам для Dependabot.

При настройке Dependabot для карт Helm он также автоматически обновляет изображения Docker, указанные в этих диаграммах, обеспечивая актуальность как версий карт, так и содержащихся в них изображений.

Maven

Dependabot Maven не запускается, но поддерживает обновления pom.xml файлов.

Dependabot Использует pom.xml информацию из файла зависимостей для добавления ссылок на информацию релизов в запросах на обновления. Если информация отсутствует в pom.xml файле, то она не может быть включена в Dependabot pull requests, см. Метаданные пакета Java для обновлений Dependabot.

Интерфейс командной строки NuGet

Dependabot не запускает NuGet CLI, но поддерживает большинство функций до версии 6.8.0.

pip и pip-компиляция

Dependabot Поддерживает обновления любого .txt файла.

Кроме того, Dependabot поддерживает обновления pyproject.toml файлов, если они соответствуют стандарту PEP 621.

poetry

Dependabot поддерживает Poetry v2. Раздел PEP 621 project в настоящее время не поддерживается для poetry.

Swift

Поддержка частного реестра применяется только к реестрам Git. Реестры Swift не поддерживаются. Не декларативные манифесты не поддерживаются. Дополнительные сведения о не декларативных манифестах см. в разделе "Редактирование не декларативных манифестов " в документации по Swift Evolution.

Terraform

Поддержка Terraform включает:

  • Модули, размещенные в Реестре Terraform или общедоступном репозитории Git.
  • Поставщики Terraform.
  • Частный реестр Terraform. Вы можете настроить доступ для частных репозиториев Git, указав реестр Git в dependabot.yml файле. Дополнительные сведения см. в статье git.

пряжа

Dependabot поддерживает поставщики зависимостей для версии 2.

Кабак

Dependabot не выполняет обновление, если pub версия, к которой пытается обновиться, игнорируется, даже если доступна более ранняя версия.

Вы можете использовать Dependabot для сохранения зависимостей Dart up-to-date, если используете приватные хостинговые репозитории пабов. Для получения информации о разрешении Dependabot доступа к частным GitHub зависимостям см . раздел «Разрешение Dependabot доступа к частным зависимостям».