Pregunta

¿Alguien probó esa función y tiene algunos comentarios? O ¿Alguien sabe algunas muestras útiles para buscar?

¿Fue útil?

Solución

He probado esta función hace algunos meses, pero ya no la uso (simplemente porque no la necesito, no porque no sea una buena función).

Básicamente, usted define n Ejes, cada eje es una propiedad con varios valores.

Vayamos con un ejemplo: usted define el Eje "JDK", con un posible valor " 1.4 " ;, " 1.5 " ;, " 1.6 " ;, y define otra propiedad " database " ;, donde los valores posibles son " oracle " ;, " mysql " ;.

Por lo tanto, Hudson lanzará tu compilación 6 veces:

  • con JDK 1.4, con la base de datos de propiedades = oracle (es decir, la JVM se inicia con -Ddatabase = oracle)
  • con JDK 1.5, con la base de datos de propiedades = oracle
  • con JDK 1.6, con la base de datos de propiedades = oracle
  • con JDK 1.4, con la base de datos de propiedades = mysql
  • con JDK 1.5, con la base de datos de propiedades = mysql
  • con JDK 1.6, con la base de datos de propiedades = mysql

Luego, una vez que todo haya terminado, podrás ver los resultados de cada iteración.

Esta función puede ser realmente útil cuando necesita probar su aplicación en varios entornos (en mi ejemplo, con diferentes versiones de JDK o base de datos).

Tenga en cuenta que, a excepción del eje JDK, usted debe administrar por sí mismo la propiedad dada como entrada por Hudson. En mi ejemplo, la aplicación debe tener en cuenta la " base de datos " propiedad en sí. Eventualmente, una buena idea es usar esta propiedad para habilitar un perfil particular en la configuración de Maven2, si el proyecto se encuentra en una versión más avanzada (consulte here para más detalles sobre eso).

Espero que mis explicaciones sean lo suficientemente claras :)

Otros consejos

Las compilaciones matriciales tienen varios problemas:

  • En general, son incompatibles con los complementos: están mejorando, pero es necesario que se mantengan actualizados.
  • Los artefactos, mucho más difíciles de eliminar, las rutas son un poco más incómodas, encontrarlas en el FS (lo que debería evitar) es ahora una pesadilla.

Lo que es una vergüenza, porque el concepto es muy bueno y muy útil donde funciona.


Editar

  • Incapacidad para comenzar puntos individuales.

Nuestra forma habitual de evitar esto es configurar las construcciones parametrizadas para que se ejecuten simultáneamente, lo que viene con sus propios problemas, pero nos ahorra tener muchos trabajos con el mismo código y diferentes constantes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top