He creado un trabajo hudson para nuestro proyecto múltiple maven con 5 módulos para implementar los artefactos SNAPSHOT
al experto repositorio. Está bien, siempre y cuando se desarrolle correctamente sin fallas de prueba. Sin embargo, ahora me gustaría cumplir con los siguientes requisitos:Configurar un trabajo hudson maven para seguir creando si hay fallas de prueba, pero solo implementar si no hay fallas de prueba
- Cuando un módulo tiene una falla de prueba, la construcción debe continuar construyendo y probar los otros módulos, pero se vuelve amarilla. El uso de
-Dmaven.test.failure.ignore=true
logra, pero falla en el próximo requisito. - Cuando un módulo tiene una falla de prueba, ninguno de los artefactos debe implementarse en el repositorio de maven. Otros proyectos dependen de las instantáneas de este proyecto y esos proyectos solo desean utilizar las instantáneas más recientes que no tienen ninguna prueba que falle.
- Preferiblemente, utilice la integración de hudson maven en lugar de una secuencia de comandos gratuita, obtenemos las páginas de informes de hudson (estado rojo/amarillo/azul por módulo, coloreado de error de registro de compilación, ...). Específicamente ejecutar el maven build dos veces (primero
mvn test -Dmaven.test.failure.ignore=true
, quemvn deploy -DskipTests
) no es una solución porque es una pérdida de rendimiento y confunde las páginas de informes de hudson y no es atómico (se actualiza desde los repositorios nuevamente en la segunda compilación).
¿Hay alguna manera de lograr esto?
Obstáculo: la opción * Implementar artefactos en el repositorio de Maven * no está disponible en un trabajo de freestyle hudson, solo en un trabajo de maven2 hudson (que aparentemente todavía no funciona para maven 3). –
En este momento, una construcción maven2 hudson/jenkins no es compatible con maven3 –