DEV Community

Marcelo Andrade R.
Marcelo Andrade R.

Posted on • Originally published at marceloandrader.github.io

Monorepo

En muchos sistemas modernos se opta por tener una aplicación web de página única o Single Page Application, en donde obligatoriamente tenemos al menos 2 partes, un backend y un frontend, los dos con diferentes estilos de programación y que deben ejecutarse en la misma versión para que todo funcione correctamente.

Cuando se almacenan estos dos sistemas en diferentes repositorios es difícil mantener la dependencia de versiones, por ejemplo que el frontend tenga una funcionalidad que depende de una función en el backend, si desplegamos solo el frontend corremos el riesgo de tener bugs en producción ya que al tratar de ejecutar esta función el backend no tiene forma de responder.

Hace un año con uno de mis clientes, hice una migración de una estructura multi repositorio a una de único repositorio o monorepo. Realmente fue un cambio significativo en la experiencia de desarrollo, teníamos 4 aplicaciones frontend 2 de administración y 2 portales web, cada una compartía 2 paquetes privados, y una REST API en PHP, por lo que teníamos 9 repositorios de código. Cuando hacíamos cambios era un dolor de cabeza el hacer que todas las dependencias vayan de la mano especialmente cuando hacíamos cambios en los paquetes privados.

Utilice estas herramientas monorepo-tools que permiten importar todos los repositorios a uno solo, sin perder su historia, lo más importante durante este proceso es tratar de cerrar la mayoría de ramas de código para que no se pierda ningún commit.

Para desplegar un monorepo cualquier rama de código siempre está en la correcta dependencia, si una app de frontend usa una función del REST API, estamos seguros que esa función también está en el backend en esa rama, de esa forma al realizar el merge correspondiente, toda la funcionalidad se une a la rama principal y el despliegue es seguro.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay