¿Cómo puedo implementar solo partes de una aplicación grande usando `Git`?

digamos que mi aplicación está dividida en 4 partes y quiero implementarla en 3 servidores, cada servidor contendrá 2 partes, 1 se comparte entre todos los servidores y 1 es específico para ese servidor. si clono el repositorio git en 1 servidor, todas las piezas se cargarán allí.

¿Debo crear un repositorio git para cada parte de mi código? Supongo que será doloroso trabajar con ellos o sincronizar todos los repositorios, especialmente si necesito crear piezas adicionales en el futuro.

Ahora mismo

Server1       Server2       Server3
Piece1        Piece1        Piece1
Piece2        Piece2        Piece2
Piece3        Piece3        Piece3
Piece4        Piece4        Piece4

Lo que estoy tratando de lograr

Server1       Server2       Server3
Piece1        Piece1        Piece1
Piece2        Piece3        Piece4

preguntado el 21 de septiembre de 13 a las 12:09

2 Respuestas

Puede intentar crear un repositorio para cada pieza y luego usar submódulos o subárboles de git para realizar un seguimiento de las dependencias. La pieza específica para el servidor incluye el repositorio compartido.

De todos modos, de esta manera el repositorio de la pieza específica se fija en el servidor correspondiente. Si desea compartir ese repositorio con otros servidores, no funcionará.

Usamos esto para nuestra gestión de dependencias en nuestras aplicaciones. Sus "servidores" son nuestra "aplicación" donde cada aplicación tiene su propio repositorio y agregamos las dependencias al incluir submódulos adicionales a ese repositorio.

Respondido el 21 de Septiembre de 13 a las 12:09

Creo que es una mala idea estructurar su repositorio de código, basándose únicamente en cómo se implementa.

Si cada componente es realmente independiente y puede tener su propio ciclo de lanzamiento, entonces póngalos en repositorios separados. Sin embargo, un escenario más probable es que tenga una gran aplicación de varios niveles, en cuyo caso es mejor que cree paquetes de implementación para cada uno de sus componentes.

No ha mencionado qué tecnología está utilizando, por lo tanto, si está utilizando Linux, cree paquetes RPM y envíelos a un repositorio de yum. Luego, cada componente se vuelve fácil de instalar usando el comando estándar "yum install".

Respondido el 22 de Septiembre de 13 a las 01:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.