Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Сведения о графе зависимостей

Граф зависимостей можно использовать для обнаружения всех зависимостей проекта. Граф зависимостей поддерживает ряд популярных экосистем пакетов.

Сведения о графе зависимостей

Граф зависимостей — это сводка файлов манифеста и блокировки, хранящихся в репозитории. Для каждого репозитория отображается зависимости, то есть экосистемы и пакеты, от которых он зависит. GitHub Enterprise Server не вычисляет сведения о зависимых, репозиториях и пакетах, которые зависят от репозитория.

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

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

Доступность графа зависимостей

Владельцы предприятия могут настроить граф зависимостей и Dependabot alerts для предприятия. Дополнительные сведения см. в разделах "AUTOTITLE" и "Включение Dependabot для предприятия".

Дополнительные сведения о настройке графа зависимостей см. в разделе Настройка графа зависимостей.

Включенные зависимости

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

  • Прямые зависимости, явно определенные в файле манифеста или блокировки.
  • Косвенные зависимости этих прямых зависимостей, также известные как транзитивные зависимости или подзависимости

Граф зависимостей определяет косвенные зависимости из файлов блокировки.

Дополнительные сведения о том, как GitHub Enterprise Server помогает понять зависимости в среде, см. в разделе Сведения о безопасности цепочки поставок.

Использование графа зависимостей

Граф зависимостей можно использовать для следующих целей.

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

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

| Диспетчер пакетов | Языки | Рекомендуемые форматы | Все поддерживаемые форматы | | --- | --- | --- | ---| | Composer | PHP | composer.lock | composer.json, composer.lock | | NuGet | Языки .NET (C#, F#, VB), C++ | .csproj, .vbproj, .nuspec, .vcxproj, .fsproj | .csproj, .vbproj, .nuspec, .vcxproj, .fsproj, packages.config | | Рабочие процессы GitHub Actions [1] | YAML | .yml, .yaml | .yml, .yaml | | Модули Go | Перейти | go.mod| go.mod , go.sum | | Maven | Java, Scala | pom.xml | pom.xml | | npm | JavaScript | package-lock.json``package-lock.json | , package.json| | pip | Python | requirements.txt, pipfile.lock | requirements.txt, , pipfile.lock``pipfile, setup.py[2] | | Python Поэзия | Python | poetry.lock | poetry.lock, pyproject.toml | | RubyGems | Ruby | Gemfile.lock | Gemfile.lock, Gemfile, *.gemspec | | Yarn | JavaScript | yarn.lock | package.json,yarn.lock |

[1] Рабочие процессы

Примечание: эта функция была недоступна в GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 и 3.5.3. Эта функция доступна в версии 3.5.4 и более поздних версиях. Для получения дополнительных сведений об обновлениях обратитесь к администратору сайта.

Дополнительные сведения об определении используемой версии GitHub Enterprise Server см. в разделе Сведения о версиях документации GitHub.

GitHub Actions должны находиться в .github/workflows/ каталоге репозитория для распознавания как манифесты. Любые действия или рабочие процессы, для ссылок на которые используется синтаксис jobs[*].steps[*].uses или jobs.<job_id>.uses, будут анализироваться как зависимости. Дополнительные сведения см. в разделе Синтаксис рабочего процесса для GitHub Actions.

[2] Если вы перечисляете зависимости Python в файле setup.py, то, возможно, нам не удастся проанализировать и перечислить каждую зависимость в вашем проекте.

Примечание. Зависимости рабочих процессов GitHub Actions отображаются в графе зависимостей в целях информирования. В настоящее время для рабочих процессов GitHub Actions оповещения Dependabot не поддерживаются.

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