Сведения о графе зависимостей
Граф зависимостей — это сводка файлов манифеста и блокировки, хранящихся в репозитории. Для каждого репозитория отображается зависимости, то есть экосистемы и пакеты, от которых он зависит. GitHub Enterprise Server не вычисляет сведения о зависимых, репозиториях и пакетах, которые зависят от репозитория.
При отправке в GitHub Enterprise Server фиксации, которая изменяет или добавляет поддерживаемый манифест или файл блокировки в ветвь по умолчанию, граф зависимостей автоматически обновляется. Сведения о поддерживаемых экосистемах и файлах манифеста см. в разделе Поддерживаемые экосистемы пакетов ниже.
Когда вы создаете запрос на вытягивание, содержащий изменения зависимостей, предназначенные для ветви по умолчанию, GitHub использует граф зависимостей для добавления проверок зависимостей в запрос на вытягивание. Они указывают, содержат ли зависимости уязвимости и если да, то версию зависимости, в которой была исправлена уязвимость. Дополнительные сведения см. в разделе Сведения о проверке зависимостей.
Доступность графа зависимостей
Владельцы предприятия могут настроить граф зависимостей и Dependabot alerts для предприятия. Дополнительные сведения см. в разделах "AUTOTITLE" и "Включение Dependabot для предприятия".
Дополнительные сведения о настройке графа зависимостей см. в разделе Настройка графа зависимостей.
Включенные зависимости
Граф зависимостей включает все зависимости репозитория, которые определены в файлах манифеста и блокировки или другим способом, для поддерживаемых экосистем. В том числе:
- Прямые зависимости, явно определенные в файле манифеста или блокировки.
- Косвенные зависимости этих прямых зависимостей, также известные как транзитивные зависимости или подзависимости
Граф зависимостей определяет косвенные зависимости из файлов блокировки.
Дополнительные сведения о том, как GitHub Enterprise Server помогает понять зависимости в среде, см. в разделе Сведения о безопасности цепочки поставок.
Использование графа зависимостей
Граф зависимостей можно использовать для следующих целей.
- Изучение репозиториев, от которых зависит ваш код. Дополнительные сведения см. в разделе Изучение зависимостей репозитория.
- Просмотр и обновление уязвимых зависимостей для репозитория. Дополнительные сведения см. в разделе Сведения об оповещениях Dependabot.
- Просмотр сведений об уязвимых зависимостях в запросах на вытягивание. Дополнительные сведения см. в разделе Проверка изменений зависимостей в запросе на вытягивание.
Поддерживаемые экосистемы пакетов
Рекомендуемые форматы явно определяют, какие версии используются для всех прямых и косвенных зависимостей. При использовании этих форматов график зависимостей будет более точным. Он также отражает текущую настройку сборки и позволяет графу зависимостей сообщать об уязвимостях как в прямых, так и косвенных зависимостях.
| Диспетчер пакетов | Языки | Рекомендуемые форматы | Все поддерживаемые форматы |
| --- | --- | --- | ---| | 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 не поддерживаются.