Sobre o gráfico de dependências
O grafo de dependência é um resumo dos arquivos de manifesto e de bloqueio armazenados em um repositório. Para cada repositório, ele mostra dependências, isto é, os ecossistemas e pacotes de que ele depende. O GitHub Enterprise Server não calcula informações sobre dependentes, os repositórios e os pacotes que dependem de um repositório.
Quando você efetua push de um commit para o GitHub Enterprise Server que altera ou adiciona um arquivo de manifesto ou de bloqueio compatível para o branch padrão, o grafo de dependência é atualizado automaticamente. Para obter informações sobre os ecossistemas compatíveis e os arquivos de manifesto, confira "Ecossistemas de pacotes compatíveis" abaixo.
Ao criar um pull request que contém alterações para dependências direcionadas ao branch padrão, GitHub usará o gráfico de dependências para adicionar revisões de dependências ao pull request. Eles indicam se as dependências contêm vulnerabilidades e, em caso afirmativo, a versão da dependência na qual a vulnerabilidade foi corrigida. Para obter mais informações, confira "Sobre a análise de dependência".
Disponibilidade do gráfico de dependências
Os proprietários de empresas podem configurar o grafo de dependência e os Dependabot alerts para uma empresa. Para obter mais informações, confira "Habilitando o gráfico de dependências para a sua empresa" e "Habilitando o Dependabot para sua empresa".
Para obter mais informações sobre a configuração do grafo de dependência, confira "Configurando o grafo de dependência".
Dependências incluídas
O grafo de dependência inclui todas as dependências de um repositório detalhadas nos arquivos de manifesto e de bloqueio, ou um equivalente, para ecossistemas com suporte. Isso inclui:
- As dependências diretas, que são definidas explicitamente em um arquivo de manifesto ou de bloqueio
- Dependências indiretas dessas dependências diretas, também conhecidas como dependências transitórias ou subdependências
O grafo de dependência identifica as dependências indiretas dos arquivos de bloqueio.
Para saber mais sobre como o GitHub Enterprise Server ajuda você a entender as dependências do seu ambiente, confira "Sobre a segurança da cadeia de suprimento".
Usar o gráfico de dependências
Você pode usar o gráfico de dependências para:
- Explore os repositórios dos quais o seu código depende. Para obter mais informações, confira "Explorar as dependências de um repositório".
- Ver e atualizar dependências vulneráveis no seu repositório. Para obter mais informações, confira "Sobre alertas do Dependabot".
- Veja as informações sobre dependências vulneráveis em pull requests. Para obter mais informações, confira "Revendo alterações de dependência em um pull request".
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, o grafo de dependência será mais preciso. Ele também reflete a configuração de build atual e permite que o grafo de dependência relate as vulnerabilidades em dependências diretas e indiretas.
| Gerenciador de pacotes | Idiomas | Formatos recomendados | Todos os formatos com suporte |
| --- | --- | --- | ---| | Composer | PHP | composer.lock
| composer.json
, composer.lock
| | NuGet | Linguagens .NET (C#, F#, VB), C++ | .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
| .csproj
, .vbproj
, .nuspec
, .vcxproj
, .fsproj
, packages.config
| | Fluxos de trabalho do GitHub Actions [1] | YAML | .yml
, .yaml
| .yml
, .yaml
| | Módulos do Go | 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
, pipfile.lock
, setup.py
[2] | | Python Poetry | Python | poetry.lock
| poetry.lock
, pyproject.toml
| | RubyGems | Ruby | Gemfile.lock
| Gemfile.lock
, Gemfile
, *.gemspec
| | Yarn | JavaScript | yarn.lock
| package.json
, yarn.lock
|
[1]
Observação: esse recurso não estava disponível no GitHub Enterprise Server 3.5.0, 3.5.1, 3.5.2 e 3.5.3. O recurso está disponível na versão 3.5.4 e posterior. Para mais informações sobre atualizações, entre em contato com o administrador do site.
Para obter mais informações sobre como determinar a versão do GitHub Enterprise Server que você está usando, confira "Sobre versões da Documentação do GitHub".
Os fluxos de trabalho do GitHub Actions devem ficar no diretório .github/workflows/
de um repositório para serem reconhecidos como manifestos. As ações ou os fluxos de trabalho referenciados com a sintaxe jobs[*].steps[*].uses
ou jobs.<job_id>.uses
serão analisados como dependências. Para obter mais informações, confira "Sintaxe de fluxo de trabalho para o GitHub Actions".
[2] Caso você liste as dependências do Python em um arquivo setup.py
, talvez não possamos analisar nem listar todas as dependências do projeto.
Observação: as dependências do fluxo de trabalho do GitHub Actions são exibidas no grafo de dependência para fins informativos. Os alertas de dependência não são atualmente compatíveis com os fluxos de trabalho de GitHub Actions.