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

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. GitHub Dependabot checks for outdated dependencies as soon as it's enabled. 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.

To keep pull requests manageable and easy to review, Dependabot raises a maximum of five pull requests to start bringing dependencies up to the latest version. 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 o Atualizações de versão do GitHub Dependabot

Currently, Atualizações de versão do GitHub Dependabot doesn't support manifest or lock files that contain any private git dependencies or private git registries. This is because, when running version updates, Dependabot must be able to resolve all dependencies from their source to verify that version updates have been successful. However, if you want to enable version updates for dependency manifests or lock files that do contain private dependencies, you can still enable Dependabot preview.

  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. Under your repository name, click Insights.
    Insights tab in the main repository navigation bar
  3. In the left sidebar, click Dependency graph.
    Dependency graph tab in the left sidebar
  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".

Pergunte a uma pessoa

Não consegue encontrar o que procura?

Entrar em contato