Parece que hemos ahorrado casi más de 8,500 horas. Y lo que es aún mejor, todo este tiempo ahorrado es tiempo en el que tus ejecutores de tareas no están funcionando. Así que ya sea que sean GitHub Actions, Jenkins, GitLab CI CD, donde sea que estén, esas son máquinas que no tienen que hacer tanto trabajo.
Entonces, ¿cómo puedes configurarte para hacer esto también? Una forma sencilla es con npx create turbo at latest. Voy a ejecutar esto y se me pedirá algunas veces. Ya lo ejecuté en segundo plano para la demostración, pero esto tomará algunos archivos de GitHub y estarás configurado y listo para comenzar con tu propio monorepo.
Un consejo rápido, instala turbo globalmente. Si escribo turbo dash dash help aquí, verás que obtenemos nuestro texto de ayuda. Esto facilita mucho trabajar en un monorepo, y ahora que lo tengo disponible, puedo simplemente escribir turbo build, y comenzaremos a construir las dos aplicaciones en este monorepo en paralelo. Veremos que manejamos ambas compilaciones, sin problemas, en paralelo 14 segundos después.
También puedo agregar más tareas a la mezcla. Puedo agregar una lint junto a esas compilaciones, y estaré realizando lints en este repositorio en paralelo también. Pero notarás algo interesante aquí. Dos de estas tareas fueron en caché, y entre las cinco que ejecutamos, y aún mejor, puedo escribir turbo lint build, y obtendremos un turbo completo. Todo este trabajo lo hemos hecho antes, no hemos cambiado ningún código fuente, no hemos cambiado nada en este repositorio, entonces ¿por qué hacer ese trabajo nuevamente? TurboRepo también puede ayudarte durante el desarrollo, así que si escribo turbo dev, ejecutaremos nuestro script de desarrollo de documentos y nuestro script de desarrollo web al mismo tiempo, y esto en realidad me brinda una buena oportunidad para mostrar una cosa que nos encanta de los monorepos, que es que puedes usar una biblioteca compartida al mismo tiempo. Entonces, si abro el paquete UI aquí, adelante y tal vez edite este botón para poner un texto de prueba aquí. Fui y tomé un navegador para ver ahora, así que podemos ver aquí en esta aplicación web, tenemos este texto de prueba delante del texto real, y luego también podemos ir a 3001, donde se está ejecutando nuestra aplicación de documentos, y veremos documentos aquí y prueba haz clic en mí. Voy a eliminar eso, volver a donde estábamos, y puedes ver que eso se recargó en caliente en esa aplicación de documentos. Voy a tomar 3000 de nuevo, y puedes ver que la prueba también se ha ido aquí también. Mis cambios se propagan en un solo commit, y listo. Ahora somos mucho más rápidos durante el desarrollo, pero ¿qué pasa con la parte que realmente importa? El envío.
En solo unos minutos, puedo hacer que TurboRepo me ayude también en el momento del envío al construir un sistema de caché completamente distribuido que funciona en todas mis máquinas de CI, así como en mi máquina de desarrollo aquí también. Voy a demostrar esto usando GitHub y Vercel. Hay muchas otras iteraciones que puedes usar para conectar todas estas partes, pero esta es la forma más rápida para mí de hacer esto en el ámbito de una demostración, y puedo tener este sistema de caché listo en solo unos minutos. Lo primero es lo primero, necesito un repositorio al que enviar mi trabajo, así que voy a usar gh-repo-create. Voy a enviar un repositorio local aquí, y verás que esto sucede bastante rápido. Ni siquiera tuve que salir de mi terminal. Bastante conveniente. Y eventualmente usaremos esto para enviar nuestro trabajo a Vercel. Vercel utilizará la integración de Git y simplemente entenderá cuando haga cambios.
Comments