2010-08-04 37 views
24

Tengo algunas dudas con respecto a nuestra configuración en nuestro servidor ci. El comando maven utilizado para crear aplicaciones está configurado en bambú como "mvn install deploy".Maven instala y despliega

A partir de mi entendimiento este invocaría todas las fases hasta "instalar" y luego llamar a todas las fases de nuevo hasta "desplegar", lo que significaría y que he podido ver en nuestros registros, que las aplicaciones son compilar dos veces (dos veces compilar, dos veces probar) etc. Lo que también significa que las aplicaciones tardan casi dos veces más en compilarse según sea necesario.

Todo lo que se necesita es "mvn despliegan" para construir correctamente las aplicaciones.

¿Es correcto mi observación/observación?

+1

su comprensión es correcta –

+1

¿No se implementa por separado para garantizar que la implementación solo se alcanzará si todo el proyecto (y los módulos) pueden instalarse (compilarse) con éxito antes de desplegar cualquier artefacto? –

Respuesta

31

Sí, todo lo que tiene que hacer es observar el ciclo de vida de la ejecución.

  • validar - validar el proyecto es correcta y toda la información necesaria está disponible
  • compilación - compilar el código fuente del proyecto
  • prueba - prueba el código fuente compilado utilizando una unidad de pruebas adecuado marco de referencia. Estas pruebas no deben requerir el código empaquetado o desplegado
  • paquete - tome el código compilado y empaquételo en su formato distribuible , como un JAR.
  • la integración de la prueba - proceso e implementar el paquete si es necesario en un ambiente donde las pruebas de integración se puede ejecutar
  • verificar - realizará comprobaciones para verificar el paquete es válido y se encuentra con la calidad criterios
  • instalar - instalar el paquete en el repositorio local, para su uso como una dependencia en otros proyectos a nivel local
  • despliegue - hecho en una integración o liberar el medio ambiente, copia la última paquetes en el repositorio remoto para compartir con otros desarrolladores y proyectos.

Aquí puede ver que la instalación ocurre justo antes de la implementación. Lo importante es saber que cuando ejecutas el despliegue, maven ejecutará todas las otras fases y luego dicho objetivo. Entonces, la ejecución de la instalación y la implementación se ejecutarán para instalar dos veces y luego una única implementación.