pom plugin groupid compiler artefact maven-2

maven 2 - plugin - Maven instalar y desplegar



maven-compiler-plugin (1)

Tengo algunas dudas con respecto a nuestra configuración en nuestro servidor ci. El comando maven utilizado para crear aplicaciones se configura en bamboo como "mvn install deploy" .

Según tengo entendido, esto invocaría todas las fases hasta "instalar" y luego invocaría todas las fases hasta "desplegar" , lo que significaría, y como puedo ver en nuestros registros, que las aplicaciones se compilan dos veces (dos veces compilar, dos veces probar ) etc., lo que también significa que las aplicaciones tardan casi el doble de tiempo en construirse según sea necesario.

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

¿Mi comprensión / observación es correcta?


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

  • validar - validar el proyecto es correcto y toda la información necesaria está disponible
  • compilar - compilar el código fuente del proyecto
  • prueba: pruebe el código fuente compilado utilizando un marco de prueba de unidad adecuado. Estas pruebas no deben requerir que el código sea empaquetado o implementado
  • paquete: tome el código compilado y guárdelo en su formato distribuible, como un JAR.
  • integración-prueba: procese y despliegue el paquete, si es necesario, en un entorno donde se puedan ejecutar pruebas de integración
  • verificar: ejecute las comprobaciones para verificar que el paquete es válido y cumple con los criterios de calidad
  • instalar: instale el paquete en el repositorio local, para usarlo como una dependencia en otros proyectos a nivel local
  • Implementación: se realiza en un entorno de integración o lanzamiento, copia el paquete final al repositorio remoto para compartirlo con otros desarrolladores y proyectos.

Aquí puede ver que la instalación se realiza justo antes de la implementación. Lo que es importante saber es que cuando ejecute el despliegue, Maven ejecutará todas las demás fases y luego dicho objetivo. Por lo tanto, ejecutar la instalación y luego la implementación se ejecutará para instalar dos veces y luego una sola implementación.