Vantagens e desvantagens do Monorepo

Vantagens e desvantagens do Monorepo

Afinal o que é um monorepo?

Monorepo pode ser definido como uma abreviação para repositório monolítico, é uma estratégia de armazenamento de código de um ou mais projetos agrupados em um único repositório.

monorepo.png

Quais as vantagens de usar um único repositório para várias aplicações diferentes?

  • Clonar um único repositório;
  • Instalar as dependências de todas as aplicações com um único comando;
  • Reutilização de código: as funcionalidades compartilhadas podem ser facilmente extraídas e reutilizadas; -Gerenciamento de dependência; -Gerenciamento de versões;
  • O build é executado em todos os projetos uma única vez, incluindo as libs compartilhadas e isso garante que todas as aplicações sempre terão as últimas versões das libs, assim fica fácil identificar quando uma lib quebrar a aplicação.

Desvantagens

  • CI/CD, continuous integration/continuous delivery métodos para entregar aplicações com frequência aos clientes podem se tornar complicados, não é fácil identificar qual aplicação está sendo alterada para iniciar os processos;

  • A segurança pode ser afetada, já que um desenvolvedor tem acesso a todos os repositórios e projetos da empresa;

  • Erro humano.

Conclusão?

Como acontece com muitos problemas de desenvolvimento, não há uma resposta certa sobre a abordagem de um único repositório ser a melhor aplicável, pois isso vai depender de uma multiplicidade de condições.

Conheça algumas empresas que utilizam o monorepo?