Tenemos dos proyectos internos, A y B, desarrollados por diferentes equipos con B dependiente de A. Dado que el código fuente de ambos proyectos se almacena en git, he incluido el proyecto A como un submódulo en el proyecto B y configuré el sistema de compilación para construir ambos en el orden correcto. Una solución alternativa sería consumir A a través de un administrador de repositorio binario como Artifactory o Nexus.
Me pregunto sobre los pros y los contras de depender del código fuente en comparación con los artefactos binarios. ¿Cuándo es uno mejor que el otro? Hasta ahora logré encontrar los siguientes factores, pero estoy realmente interesado en escuchar otras opiniones.
Dependiendo del código fuente es mejor
- si no tienes un administrador de repositorio binario
- si necesita depender de la versión preliminar de otro proyecto
- si necesita parchear otro proyecto
- porque es más fácil navegar por el código fuente de dependencia en IDE
Dependiendo de los binarios es mejor
- para minimizar el tiempo de construcción
- para evitar la molestia de configurar el entorno de construcción de otro proyecto