Mi equipo utiliza un repositorio de maven de equipo interno que se comparte desde un servidor de desarrollo mediante Apache. También ejecutamos el servidor Continuum CI en la misma máquina. Las compilaciones de Maven en Continuum se ejecutan con el objetivo de "instalar", que copia el artefacto final directamente en el directorio compartido.
La pregunta es, ¿cuál es la diferencia entre agregar archivos al repositorio compartido usando mvn install
y usar el objetivo de implementación (complemento mvn-deploy)?
Me parece que el uso mvn deploy
crea problemas de configuración adicionales, pero he leído en alguna parte que instalar archivos en un repositorio compartido es una mala idea por alguna razón relacionada con el funcionamiento interno de maven.
actualización: obtengo las diferencias funcionales entre deploy
y install
; De hecho, estoy más interesado en los detalles de bajo nivel en términos de qué archivos se crean en el repositorio de maven.
mvn deploy
? ¿Qué beneficios ofrece para la configuración adicional que se requería en primer lugar?De los documentos de Maven , parece que es solo una diferencia en el repositorio en el que instala el paquete:
Tal vez haya alguna confusión en que "instalar" en el servidor de CI lo instala en su repositorio local, que luego usted como usuario está compartiendo.
fuente
"matt b" tiene razón, pero para ser específico, el objetivo de "instalar" copia su objetivo construido en el repositorio local en su sistema de archivos; útil para pequeños cambios en proyectos que actualmente no están destinados a todo el grupo.
El objetivo de "implementar" lo sube a su repositorio compartido para cuando su trabajo esté terminado, y luego puede ser compartido por otras personas que lo requieran para su proyecto.
En su caso, parece que "instalar" se utiliza para facilitar la gestión de la implementación, ya que el repositorio local de CI es el repositorio compartido. Si CI estuviera en otro cuadro, tendría que usar el objetivo "implementar".
fuente