Atualização automática de dependências com Renovate

Guia de atualização automática de dependências com Renovate

Construir

Introdução

A manutenção das dependências do projeto é parte do trabalho diário dos desenvolvedores. Verificar, atualizar e testar manualmente as versões das dependências não só consome tempo, mas também é propenso a omissões. Este artigo explica como usar o Renovate para automatizar completamente as atualizações de dependências.

Objetivos

  • Verificar automaticamente as atualizações de dependências todos os dias ao amanhecer
  • Criar PRs automaticamente e fundi-los (após passar no CI)
  • Sem intervenção manual, funcionando em segundo plano
  • Gestão unificada em vários repositórios

Instalação do Renovate

  1. Visite GitHub Apps - Renovate
  2. Clique em Instalar
  3. Selecione os repositórios a ativar (todos ou específicos)
  4. Complete a autorização

Arquivo de configuração

Crie renovate.json na raiz do repositório:

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
":automergeAll",
":disableDependencyDashboard"
],
"timezone": "Asia/Shanghai",
"schedule": ["before 3:00am"]
}

Commit e push:

Terminal window
git add renovate.json
git commit -m "chore: configure Renovate for automated dependency updates"
git push

Detalhes da configuração

OpçãoDescrição
config:recommendedConfiguração base oficialmente recomendada pelo Renovate
:automergeAllOpção principal — fusão automática de todas as atualizações (incluindo versões principais)
:disableDependencyDashboardDesativar o painel de problemas para funcionamento em segundo plano
timezoneDefinir o fuso horário para Ásia/Xangai
scheduleExecutar verificações antes das 3:00 da manhã diariamente

Fluxo de trabalho

3:00 da manhã diariamente
Renovate verifica as dependências do package.json
Atualizações disponíveis detectadas
Criação automática de Pull Request
Acionamento de verificações CI
CI aprovado → Fusão automática para o branch main
Ver dependências atualizadas na manhã seguinte

Configuração multi-repositório

Para vários projetos, copie o mesmo arquivo de configuração:

Terminal window
# Criar configuração universal
cat > renovate.json << 'EOF'
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended", ":automergeAll", ":disableDependencyDashboard"],
"timezone": "Asia/Shanghai",
"schedule": ["before 3:00am"]
}
EOF
# Aplicar a vários repositórios
for repo in repo1 repo2 repo3; do
cp renovate.json $repo/
cd $repo && git add . && git commit -m "chore: configure Renovate" && git push
cd ..
done

Perguntas frequentes

O PR não está se fundindo automaticamente?

Verifique o status do CI. O Renovate só funde após a aprovação de todas as verificações CI. Se o CI falhar, corrija manualmente o problema e execute novamente.

Como acionar atualizações imediatamente?

  • Se o painel estiver ativado: Vá para Issues → Dependency Dashboard → Marque os pacotes para atualizar → Clique em Rebase
  • Ou aguarde o horário programado para execução automática

Como excluir dependências específicas?

Adicione regras de exclusão na configuração:

{
"packageRules": [{
"matchPackageNames": ["package-name"],
"enabled": false
}]
}

Suporte para pnpm / yarn / npm?

O Renovate detecta automaticamente os tipos de arquivos de bloqueio, não é necessária configuração adicional.

Verificação

Após enviar a configuração, o Renovate será executado automaticamente (ou aguardará o horário programado). Passos de verificação:

  1. Vá para a página Pull requests do repositório
  2. Veja os PRs criados pelo Renovate (formato do título: chore(deps): update ...)
  3. Confirme que a fusão automática está ativada para o PR
  4. Fusão automática após aprovação do CI

Resumo

Apenas 5 linhas de configuração principal:

{
"extends": [
"config:recommended",
"automergeAll",
"disableDependencyDashboard"
],
"timezone": "Asia/Shanghai",
"schedule": ["before 3:00am"]
}

Realize a gestão totalmente automatizada de dependências, permitindo que os desenvolvedores se concentrem no código de negócio.

Publicado em: 6 de fev de 2026 · Modificado em: 6 de fev de 2026

Artigos relacionados