¿Jenkins está construyendo un producto que consiste en muchos proyectos de Maven? (con el complemento Jenkins Pipeline?)

Tenemos un producto que consta de muchos proyectos de Maven que dependen unos de otros. Todos estos proyectos de Maven se unen en un solo proyecto que entrega el producto final.

Los proyectos de Maven comparten el mismo ciclo de vida. En otras palabras, no son administrados por equipos separados de personas con<dependency> cambios para recoger versiones más nuevas de otros proyectos. En cambio, cuando alguien cambia algo en uno de los proyectos, el resultado debe ir directamente al producto final sin cambios adicionales.

Usamos Jenkins como nuestra herramienta de integración continua.

Los principales deseos que tenemos son los siguientes:

No es necesario copiar todas las dependencias entre proyectos a la configuración de Jenkins: estas deben estar en un solo lugar, idealmente elpom.xml archivosEvite compilaciones innecesarias: en un cambio de SCM, solo construya los proyectos que están potencialmente afectados.En caso dedependencias de diamantes (C depende de B1 y B2, que dependen de A), si se cambia el valor más bajo (A), entonces el producto final (C) siempre debe usar la versión de A que también se usó para construir / probar B1 y B2 .

Pregunta: ¿Cuál es el mejor enfoque para hacer esto con Jenkins?

Actualmente estamos pensando en usar un solo trabajo usando el complemento Jenkins Pipeline, que analiza las dependencias de Maven y los cambios de SCM, decide qué se debe construir y en qué orden, y luego construir los proyectos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta