Skip to content
Latchkey

O Que É um Polyrepo?

Um polyrepo (multi-repo) dá a cada projeto seu próprio repositório, com histórico, versionamento e CI independentes.

O modelo polyrepo é o tradicional: um repositório por serviço ou biblioteca. Cada um tem seu próprio pipeline e cadência de release. Ele mantém os repositórios individuais pequenos e os pipelines focados, ao custo de coordenar mudanças que abrangem múltiplos repositórios.

O que é um polyrepo

Cada projeto vive em um repositório separado com seu próprio CI, permissões e versionamento. Um time frequentemente é dono de um punhado de repositórios em vez de uma única base de código compartilhada.

Implicações para o CI

  • O pipeline de cada repositório é pequeno e builda apenas aquele projeto - naturalmente delimitado.
  • Mudanças entre repositórios precisam de coordenação: publicar uma biblioteca, atualizar o consumidor.
  • A configuração de CI compartilhada tende a divergir entre repositórios sem um template central.

Um pequeno exemplo

Mudar uma biblioteca compartilhada em um polyrepo significa: fazer merge e publicar a biblioteca (seu próprio pipeline), depois abrir um segundo pull request em cada repositório consumidor para atualizar a versão - dois passos coordenados que um monorepo faria em uma única mudança atômica.

Mantendo os pipelines consistentes

Sem uma única fonte da verdade, o workflow de cada repositório diverge. Reusable workflows ou um template repo compartilhado permitem que muitos polyrepos herdem uma única definição de pipeline, recuperando parte da consistência que um monorepo obtém de graça.

Polyrepo vs monorepo

Polyrepos dão isolamento e cadência de release independente; monorepos dão mudanças atômicas entre projetos e tooling unificado. Nenhum é universalmente melhor - a escolha certa depende de quão fortemente acoplados seus projetos estão.

Principais conclusões

  • Um polyrepo dá a cada projeto seu próprio repositório e pipeline.
  • Os pipelines permanecem pequenos e delimitados, mas mudanças entre repositórios precisam de coordenação.
  • O trade-off vs monorepo é isolamento versus mudanças atômicas.

Guias relacionados