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

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

People with write permissions to a repository can enable or disable Atualizações de versão do Dependabot for the repository.

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

Você habilita Atualizações de versão do 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 "Configurar Atualizações de segurança do 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 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. Dependabot will also run an update on subsequent changes to the configuration file.

Dependabot may also create pull requests when you change a manifest file after an update has failed. This is because changes to a manifest, such as removing the dependency that caused the update to fail, may cause the newly triggered update to succeed.

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. If you merge some of these first pull requests before the next scheduled update, remaining pull requests will be opened on the next update, up to that maximum. You can change the maximum number of open pull requests by setting the open-pull-requests-limit configuration option. Para obter mais informações, consulte "Personalizar atualizações de dependência".

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". You can configure access to private registries in a repository's dependabot.yml configuration file. Para obter mais informações, consulte "Opções de configuração para atualizações de dependências". Adicionalmente, Dependabot não é compatível com dependências privadas GitHub para todos os gerenciadores de pacote. Para obter mais informações, consulte "Sobre atualizações de versão do Dependabot" e "GitHub suporte a idiomas".

Habilitar Atualizações de versão do Dependabot

  1. Crie um arquivo de configuração dependabot.yml. Para obter informações, consulte "Opções de configuração para atualizações de dependência."
  2. Adicione uma versão.
  3. Opcionalmente, se você tiver dependências em um registro privado, adicione uma seção de registros que contém detalhes de autenticação.
  4. Adicione uma seção de atualizações com uma entrada para cada gerenciador de pacotes que você deseja que Dependabot monitore.
  5. Para cada gerenciador de pacotes, use:
    • package-ecosystem para especificar o gerenciador de pacote.
    • 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.
  6. Confira o arquivo de configuração dependabot.yml no diretório e .github do repositório.

Exemplo: arquivo dependabot.yml

O exemplo do arquivo dependabot.yml configura atualizações da versão para dois gerentes de pacotes: npm e Docker. Quando este arquivo é marcado, o 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 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 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 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.

# dependabot.yml file with updates
# disabled for Docker and limited for npm

version: 2
updates:
  # Configuration for Dockerfile
  - package-ecosystem: "docker"
    directory: "/"
    schedule:
      interval: "weekly"
      # Disable all pull requests for Docker dependencies
    open-pull-requests-limit: 0

  # Configuration for npm
  - package-ecosystem: "npm"
    directory: "/"
    schedule:
      interval: "daily"
    ignore:
      # Ignore updates to packages that start with 'aws'
      # Wildcards match zero or more arbitrary characters
      - dependency-name: "aws*"
      # Ignore some updates to the 'express' package
      - dependency-name: "express"
        # Ignore only new versions for 4.x and 5.x
        versions: ["4.x", "5.x"]
      # For all packages, ignore all patch updates
      - dependency-name: "*"
        update-types: ["version-update:semver-patch"]

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".

Esse documento ajudou você?Política de Privacidade

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.