Esta versão do GitHub Enterprise foi descontinuada em 2021-06-09. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Sobre o gráfico de dependências

Informações detalhadas sobre o gráfico de dependência, os ecossistemas que apoia e como determina quais pacotes um repositório depende.

Disponibilidade do gráfico de dependências

O gráfico de dependências está disponível para cada repositório que define as dependências em um ecossistema de pacote compatível usando um formato de arquivo compatível.

O seu administrador do site deve habilitar alertas de segurança para dependências vulneráveis para sua instância do GitHub Enterprise Server antes de você poder usar este recurso. Para obter mais informações, consulte "Habilitar alertas para dependências vulneráveis em GitHub Enterprise Server".

Sobre o gráfico de dependências

O gráfico de dependências é um resumo do manifesto e bloqueia arquivos armazenados em um repositório. Para cada repositório, ele mostra dependências, ou seja, os ecossistemas e os pacotes do qual depende. O GitHub Enterprise Server não calcula informações sobre dependentes, repositórios e pacotes que dependem de um repositório.

Ao fazer push de um commit para GitHub Enterprise Server que muda ou adiciona um manifesto compatível ou um arquivo de bloqueio para o branch padrão, o gráfico de dependências será atualizado automaticamente. Para obter informações sobre ecossistemas compatíveis e arquivos de manifesto, consulte "Ecossistemas de pacotes compatíveis" abaixo.

Dependências incluídas

O gráfico de dependências inclui todas as dependências de um repositório detalhadas nos arquivos de manifesto e de bloqueio ou seu equivalente para ecossistemas compatíveis. Isto inclui:

  • Dependências diretas, que são definidas explicitamente em um manifesto ou arquivo de bloqueio
  • Dependências indiretas dessas dependências diretas, também conhecidas como dependências transitórias ou subdependências

O gráfico de dependências identifica dependências indiretas.

Usar o gráfico de dependências

Você pode usar o gráfico de dependências para:

Habilitar o gráfico de dependências

Se o gráfico de dependências não estiver disponível no seu sistema, o administrador do site poderá habilitar o gráfico de dependências e Alertas do Dependabot. Para obter mais informações, consulte "Habilitar alertas para dependências vulneráveis em GitHub Enterprise Server

Se o gráfico de dependências não estiver disponível no seu sistema, o administrador do site poderá habilitar o gráfico de dependências e os alertas de segurança. Para obter mais informações, consulte "Habilitar alertas para dependências vulneráveis em GitHub Enterprise Server".

Quando o gráfico de dependências é ativado pela primeira vez, todos manifesto e arquivos de bloqueio para ecossistemas suportados são analisados imediatamente. O gráfico geralmente é preenchido em minutos, mas isso pode levar mais tempo para repositórios com muitas dependências. Uma vez habilitado, o gráfico é automaticamente atualizado a cada push no repositório.

Ecossistemas de pacote compatíveis

Os formatos recomendados definem explicitamente quais versões são usadas para todas as dependências diretas e indiretas. Se você usar esses formatos, seu gráfico de dependências será mais preciso. Além disso, ele reflete a configuração da compilação atual e permite que o gráfico de dependências relate vulnerabilidades em dependências diretas e indiretas.

Os ecossistemas listados abaixo são compatíveis com o gráfico de dependências e com os alertas de segurança.

Gerenciador de pacotesIdiomasFormatos recomendadosTodos os formatos compatíveis
ComposerPHPcomposer.lockcomposer.json, composer.lock
dotnet CLI.NET languages (C#, C++, F#, VB).csproj, .vbproj, .nuspec, .vcxproj, .fsproj.csproj, .vbproj, .nuspec, .vcxproj, .fsproj, packages.config
MavenJava, Scalapom.xmlpom.xml
npmJavaScriptpackage-lock.jsonpackage-lock.json, package.json
Python PIPPythonrequirements.txt, pipfile.lockrequirements.txt, pipfile, pipfile.lock, setup.py*
RubyGemsRubyGemfile.lockGemfile.lock, Gemfile, *.gemspec
YarnJavaScriptyarn.lockpackage.json, yarn.lock

Observação: se você listar suas dependências de Python em um arquivo setup.py, será provável que não possamos analisar e listar cada dependência no seu projeto.

Leia mais