Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Sobre as atualizações da versão do Dependabot

Você pode usar o Dependabot para manter os pacotes que usa atualizados para as versões mais recentes.

Neste artigo

Nota: Dependabot version updates está atualmente em versão beta e sujeito a alterações. Para usar a funcionalidade beta, verifique em um arquivo de configuração para informar Dependabot quais dependências devem manter para você. Para obter detalhes, consulte "Enabling and disabling version updates."

Sobre o Dependabot version updates

O Dependabot facilita a manutenção de suas dependências. Você pode usá-lo para garantir que seu repositório se mantenha atualizado automaticamente com as versões mais recentes dos pacotes e aplicações do qual ele depende.

Você habilita o Dependabot version updates verificando um arquivo de configuração no seu repositório. O arquivo de configuração especifica a localização do manifesto ou de outros arquivos de definição de pacote, armazenados no seu repositório. O Dependabot usa essas informações para verificar pacotes e aplicativos desatualizados. Dependabot determina se há uma nova versão de uma dependência observando a versão semântica (semver) da dependência para decidir se deve atualizar para essa versão. Para certos gerentes de pacote, Dependabot version updates também é compatível com armazenamento. Dependências de vendor (ou armazenadas) são dependências registradas em um diretório específico em um repositório, em vez de referenciadas em um manifesto. Dependências de vendor estão disponíveis no tempo de criação, ainda que os servidores de pacote estejam indisponíveis. Dependabot version updates pode ser configurado para verificar as dependências de vendor para novas versões e atualizá-las, se necessário.

Quando Dependabot identifica uma dependência desatualizada, ele cria uma pull request para atualizar o manifesto para a última versão da dependência. Para dependências de vendor, Dependabot levanta um pull request para substituir diretamente a dependência desatualizada pela nova versão. Você verifica se os seus testes passam, revisa o changelog e lança observações incluídas no resumo do pull request e, em seguida, faz a mesclagem. Para obter detalhes, consulte "Habilitando e desabilitando atualizações da versão."

Se você habilitar atualizações de segurança, Dependabot também promove pull requests para atualizar dependências vulneráveis. Para obter mais informações, consulte "Sobre Dependabot security updates."

Dependabot e todos os recursos relacionados estão cobertos pelos Termos de Serviço de GitHub.

Frequência de Dependabot pull requests

Você especifica com que frequência verifica cada ecossistema para novas versões no arquivo de configuração: diariamente, semanalmente ou mensalmente.

Quando você habilitar atualizações de versão pela primeira vez, você pode ter muitas dependências que estão desatualizadas e algumas podem ser muitas versões por trás da versão mais recente. O Dependabot verifica as dependências desatualizadas assim que estiver habilitado. Você pode ver novas pull requests para atualizações de versão dentro de alguns minutos após adicionar o arquivo de configuração, dependendo do número de arquivos de manifesto para os quais você configura as atualizações.

Para manter os pull requests gerenciáveis e fáceis de revisar, o Dependabot gera um máximo de cinco pull requests para começar a criar dependências até a versão mais recente. Se você fizer o merge de algumas destas primeiras pull requests antes da próxima atualização programada, então as próximas pull requests serão abertas até um máximo de cinco (você pode alterar esse limite).

Se tiver habilitado atualizações de segurança, às vezes você verá atualizações de segurança extras de pull requests. Elas são acionadas por um alerta de Dependabot para uma dependência de seu branch padrão. Dependabot gera automaticamente um pull request para atualizar a dependência vulnerável.

Repositórios e ecossistemas suportados

É possível configurar atualizações de versão para repositórios que contenham um manifesto de dependência ou arquivo de bloqueio para um dos gerentes de pacotes suportados. Para alguns gerenciadores de pacotes, você também pode configurar o armazenamento para dependências. Para obter mais informações, consulte "Opções de configuração para atualizações de dependências".

Ao executar atualizações de segurança ou versão, alguns ecossistemas devem ser capazes de resolver todas as dependências de sua fonte para verificar se as atualizações foram bem-sucedidas. Se o seu manifesto ou arquivos de bloqueio contiverem dependências privadas, Dependabot deverá ser capaz de acessar o local em que essas dependências estão hospedadas. Os proprietários da organização podem conceder a Dependabot acesso a repositórios privados que contêm dependências para um projeto dentro da mesma organização. Para obter mais informações, consulte "Gerenciar configurações de segurança e análise para sua organização".

Atualmente, as atualizações da versão de Dependabot não são compatíveis com o manifesto ou arquivos de bloqueio que contenham dependências hospedadas em registros privados ou em repositórios privados GitHub que pertencem a uma organização diferente do projeto dependente. Adicionalmente, Dependabot não é compatível com dependências privadas GitHub para todos os gerenciadores de pacote. Veja os detalhes na tabela abaixo.

A tabela a seguir mostra, para cada gerenciador de pacotes:

  • O valor de YAML a ser usado no arquivo dependabot.yml
  • As versões compatíveis do gerenciador de pacotes
  • Se as dependências em repositórios privados de GitHub são compatíveis
  • Whether vendored dependencies are supported
Gerenciador de pacotesValor do YAMLVersões compatíveisRepositórios privadosVendoring
bundlerbundlerv1
Cargocargov1
Composercomposerv1, v2
Dockerdockerv1
Elixirmixv1
Elmelmv0.18, v0.19
git submodulegitsubmoduleN/A (sem versão)
GitHub Actionsgithub-actionsN/A (sem versão)
Módulos Gogomodv1
Gradlegradlever (A) abaixo
Mavenmavenver (A) abaixo
npmnpmv6, v7
NuGetnuget<= 4.8.
veja (C) abaixo
pippipv20
pipenvpip<= 2018.11.26
pip-compilepip5.5.0
poetrypipv1
Terraformterraform<= 0.11
yarnnpmv1

(A) Dependabot não executa o Gradle, mas é compatível com atualizações dos seguintes arquivos: build.gradle e build.gradle.kts (para projetos do Kotlin).

(B) Dependabot não usa o Maven, mas é compatível com atualizações para arquivos pom.xml.

(C) Dependabot não executa o NuGet CLI, mas é compatível com a maioria das funcionalidades até a versão 4.8.

Para gerentes de pacote como pipenv e poetry, você precisa usar o valor do pip do YAML. Por exemplo, se você usa o poetry para gerenciar suas dependências do Python e quer que Dependabot monitore seu arquivo de manifesto de dependência para novas versões, use pacote-ecosystem: "pip" no seu arquivo dependabot.yml.

Se o seu repositório já usa uma integração para gerenciamento de dependências, você precisará desativar isso antes de habilitar o Dependabot. Para obter mais informações, consulte "Sobre integrações".

Sobre notificações para atualizações de versão para Dependabot

Você pode filtrar suas notificações em GitHub para mostrar atualizações de versão de Dependabot. Para obter mais informações, consulte "Gerenciando notificações de sua caixa de entrada".

Esse documento ajudou você?

Privacy policy

Ajude-nos a tornar esses documentos ótimos!

Todos os documentos do GitHub são de código aberto. Você percebeu que algo que está errado ou não está claro? Envie um pull request.

Faça uma contribuição

Ou, aprenda como contribuir.