Gitlab multi proyecto CI

Tengo un complejo set de proyectos LaTeX compuesto por los siguientes directorys.

PACKAGE/ SCRIPTS/ AUX/ PROJ1/ PROJ2/ ... 

Cada PROJ1, PROJ2, … es un libro. Para comstackr PROJ1 /, por ejemplo, tengo un set de scripts en la carpeta SCRIPT. Estos scripts copyn algunos files en la carpeta AUX / en cada carpeta PROJ1 /. La carpeta PACKAGE / debe estar presente para comstackr el libro. Por lo tanto, para los files en PACAKGE /, SCRIPTS / y AUX / son comunes a cada libro (PROJ1, PROJ2, …) pero independientes de ellos. Por lo tanto, creo que debo mantener cada carpeta en un repository git separado.

Ahora, me gustaría usar el recurso gitlab-ci para comstackr cada PROJ * /. Sé que tengo que configurar un Docker Runner, pero mi problema es cómo hacerlo de una manera que lo hago usando múltiples repositorys. Me gustaría build los libros, no solo cuando me comprometo con PORJ *, sino también cuando me comprometo con AUX o PACKAGE. ¿Cómo debería configurar CI de múltiples proyectos?

NOTA: Cuando estoy codificando un PROJ / I determinado, realizo cambios al PAQUETE y AUX que pueden romper otros libros. Pensé que puedo relacionar cada PROJ1, PROJ2, a PAQUETES y AUX, configurando PAQUETES y AUX como submodules de PROJ (tengo entendido que de esta manera enlace cada libro a una versión específica de AUX y PAQUETE). ¿El uso de submodules facilitará la configuration de proyectos múltiples Ci? ¿Es una buena idea usar los submodules de esta manera? (Soy consciente de que con los submodules es fácil cometer errores).

tu pregunta es en realidad dos partes. Primero, cómo crear múltiples repositorys de git y usar uno (el código compartido) en otros (los libros). Segundo, cómo usar el CI de gitlab para activar la compilation en caso de cambio a cualquiera de los repositorys.

La primera parte es fácil, necesita un repository que contenga código compartido (SCRIPTS, AUX, …) y para cada libro un repository que contenga datos del libro Y un repository compartido como un submodule. Vea los submodules de Git si no sabe cuáles son.

Hasta aquí has ​​resuelto la mitad del problema. En Gitlab, CI necesita una configuration específica al usar los submodules de git, consulte aquí las instrucciones de configuration. De esta forma, se puede build cada repository de libros. El último paso es configurar el repository compartido para activar la compilation en todos los repositorys de libros. Esto se puede hacer usando las URL de activación como se describe aquí .