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.

Habilitar e desabilitar as atualizações da versão

Você pode configurar seu repositório para que o GitHub Dependabot atualize automaticamente os pacotes que você usa.

Pessoas com permissões de gravação para um repositório podem habilitar ou desabilitar Atualizações de versão do GitHub Dependabot para o repositório.

Neste artigo

Did this doc help you?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Ou, learn how to contribute.

Nota: Atualizações de versão do GitHub Dependabot está atualmente em versão beta e sujeito a alterações. Para usar o recurso beta, siga as instruções deste artigo.

Sobre atualizações de versão para dependências

Você habilita Atualizações de versão do GitHub Dependabot, verificando um arquivo de configuração dependabot.yml no diretório do seu repositório .github. Em seguida, o Dependabot cria um pull request para manter as dependências que você configura atualizadas. Para cada dependência do gerenciador de pacotes que você deseja atualizar, você deve especificar a localização dos arquivos de manifesto do pacote e a frequência de busca por atualizações nas dependências listadas nesses arquivos. Para obter mais informações sobre habilitar atualizações de segurança, consulte "Configurando Atualizações de segurança do GitHub Dependabot."

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 GitHub 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). Para obter mais informações, consulte "Personalizar atualizações de dependência".

Habilitar Atualizações de versão do GitHub Dependabot

Atualmente, Atualizações de versão do GitHub Dependabot não é compatível com manifesto ou arquivos de bloqueio que contêm dependências do git privadas ou registros do git privados. Isso é porque, quando estiver executando atualizações de versão, o Dependabot deve ser capaz de resolver todas as dependências da sua fonte para verificar se as atualizações da versão foram bem-sucedidas.

  1. Crie um arquivo de configuração dependabot.yml.
  2. Use package-ecosystem para especificar os gerenciadores de pacote a monitorar.
  3. Para cada gerenciador de pacotes, use:
    • directory para especificar o local do manifesto ou de outros arquivos de definição.
    • schedule.interval para especificar com que frequência verificar novas versões.
  4. Confira o arquivo de configuração dependabot.yml no diretório e .github do repositório.

Exemplo: arquivo dependabot.yml

O arquivo de exemplo dependabot.yml abaixo configura atualizações de versão para dois gerenciadores de pacotes: npm e Docker. Quando este arquivo é marcado, o GitHub Dependabot verifica os arquivos de manifesto no branch padrão buscando dependências desatualizadas. Se encontrar dependências desatualizadas, irá gerar pull requests em relação ao branch padrão para atualizar as dependências.

# Arquivo básico dependabot.yml com
# configuração mínima para dois gerenciadores de pacotes

version: 2
updates:
  # Permitir atualizações de versão para npm
  - package-ecosystem: "npm"
    # Procurar arquivos "package.json" e "lock" no diretório "root"
    directory: "/"
    # Verificar o registro npm para atualizações diárias (dias de semana)
    schedule:
      interval: "daily"

  # Habilitar atualizações da versão para Docker
  - package-ecosystem: "docker"
    # Buscar um "Dockerfile" no diretório "root"
    directory: "/"
    # Verificar atualizações uma vez na semana
    schedule:
      interval: "weekly"

No exemplo acima, se as dependências do Docker estivessem muito desatualizadas, você poderia optar por começar com um cronograma diário até que as dependências estivessem atualizadas, e depois voltar para uma programação semanal.

Habilitando atualizações da versão em bifurcações

Se você quiser habilitar atualizações de versão nas bifurcações, há um passo extra. Atualizações de versão não são habilitadas automaticamente nas bifurcações quando um arquivo de configuração dependabot.yml estiver presente. Isso garante que os proprietários de bifurcação não habilitarão intencionalmente as atualizações de versão quando eles promoverem pull das alterações, incluindo um arquivo de configuração dependabot.yml do repositório original.

Em uma bifurcação, você também precisa habilitar explicitamente GitHub Dependabot.

  1. No GitHub, navegue até a página principal do repositório.
  2. No nome do repositório, clique em Insights.
    Aba de insights na barra de navegação do repositório principal
  3. Na barra lateral esquerda, clique em gráfico de dependências.
    Aba do gráfico de dependências na barra lateral esquerda
  4. Em "Dependência gráfica", clique em Dependabot.
    Aba do gráfico de dependência, Dependabot
  5. Em "Enable Dependabot" (Habilitar Dependabot), clique em Habilitar Dependabot.

Verificando o status das atualizações da versão

Depois que você habilitar as atualizações da versão, você verá uma nova aba Dependabot no gráfico de dependências para o repositório. Esta aba mostra quais gerentes de pacote de GitHub Dependabot estão configurados para monitorar e quando Dependabot fez a última verificação com relação a novas versões.

Aba de Insights do Repositório, gráfico de dependências, aba Dependabot

Para obter mais informações, consulte "Listando dependências configuradas para atualizações da versão".

Desabilitar Atualizações de versão do GitHub Dependabot

Você pode desabilitar as atualizações da versão inteiramente excluindo o arquivo dependabot.yml do seu repositório. Mais usualmente, você deseja desabilitar as atualizações temporariamente para uma ou mais dependências, ou gerenciadores de pacotes.

  • Gerenciadores de pacotes: desabilite configurando open-pull-requests-limit: 0 ou comentando o package-ecosystem relevante no arquivo de configuração.
  • Dependências específicas: desabilite ao adicionar atributos ignore para pacotes ou aplicativos que você deseja excluir das atualizações.

Quando você desabilita dependências, você pode usar cartões curingas para corresponder a um conjunto de bibliotecas relacionadas. Você também pode especificar quais versões excluir. Isso é particularmente útil se você precisa bloquear atualizações de uma biblioteca, deixando pendente trabalho para suportar uma alteração quebrada na sua API, mas quer obter qualquer correção de segurança para a versão que você usa.

Exemplo de desabilitação de atualizações de versão para algumas dependências

O exemplo de arquivo dependabot.yml abaixo inclui exemplos das diferentes maneiras de desabilitar atualizações para algumas dependências, ao mesmo tempo que permite que outras atualizações continuem.

# arquivo dependabot.yml file com atualizações
# desabilitado para Docker e limitado para npm

version: 2
updates:
  # Configuração para Dockerfile
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      # Desabilitar todas as pull requests para dependências Docker
    open-pull-requests-limit: 0

  # Configuração para npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    # Substituir quaisquer ignores criados usando os comandos "@dependabot ignore"
    ignore:
      # Ignorar atualizações de pacotes que comecem com "aws"
      # Curingas correspondentes a zero ou outros caracteres arbitrários
      - dependency-name: "aws*"
      # Ignorar algumas atualizações do pacote "express"
      - dependency-name: "express"
        # Ignore only new versions for 4.x and 5.x
        versions: ["4.x", "5.x"]

Aviso: Antes de adicionar uma opção ignore ao arquivo de configuração dependabot.yml, verifique se o repositório já tem alguma preferência ignorada (criado usando os comandos @dependabot ignore). Quando você adiciona uma opção ignore ao arquivo de configuração dependabot.yml, isso substitui quaisquer preferências ignoradas armazenadas centralmente para o gerenciador de pacotes, branches e diretórios.

Isso afeta tanto as atualizações de segurança quanto as de versão.

Para obter mais informações sobre as verificações para preferências de ignore existentes, consulte "Opções de configuração para atualizações de dependências".

Did this doc help you?

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Ou, learn how to contribute.