O Que É um Monorepo?
Um monorepo é um único repositório de controle de versão que abriga múltiplos projetos, bibliotecas ou serviços juntos, compartilhando tooling, dependências e histórico. Mudanças que abrangem vários componentes podem ser feitas em um único commit atômico. Grandes organizações usam monorepos para impor consistência e simplificar refatorações entre projetos.
Por que isso importa
Monorepos tornam fáceis as mudanças atômicas transversais e os padrões compartilhados, mas eles pressionam o CI: uma configuração ingênua rebuilda tudo a cada mudança. Um CI de monorepo eficaz depende de detecção de targets afetados, remote caching e paralelismo intenso para manter os builds rápidos.
Conceitos relacionados
- Contrastado com polyrepo
- Se beneficia muito de remote caching
- A detecção de targets afetados evita rebuildar tudo
Guias relacionados
What Is a Polyrepo?A polyrepo splits a codebase across many separate repositories, typically one per service or library, each wi…
What Is a Remote Cache?A remote cache stores build outputs in a shared, networked location so they can be reused across machines, CI…
What Is a Build Cache?A build cache stores intermediate build outputs so unchanged work can be reused across runs instead of recomp…