2011-06-05 13 views
15

Estoy usando cargo: implementar con maven para implementar aplicaciones en servidores. Esto funciona bien, pero recientemente intenté usar CloudBees. Tienen un complemento similar para su infraestructura. Sin embargo, despliega solo diferencias entre la antigua WAR y la nueva WAR, por lo que es significativamente más rápida. Cuando cargo: implementar me lleva de 4 a 6 minutos, el método CloudBees toma menos de un minuto.Implementar solo diferencias en Webapp con Maven al servidor remoto

¿Hay algún complemento para Maven que me permita implementar solo mis cambios en mi propio servidor de aplicaciones? En este momento estoy usando Tomcat, pero consideraría cambiar los servidores de aplicaciones si hubiera una buena solución para otra cosa.

+0

¿Puede ejecutar su servidor de aplicaciones localmente, o es el punto de esta pregunta que tiene que ser remota? – artbristol

+1

El objetivo de la pregunta es implementarlo en un servidor remoto, especialmente en Internet público, donde el ancho de banda tiene un impacto significativo en el tiempo de implementación. Gracias por aclarar eso. – Mark

+0

Todavía no lo entendí del todo: ¿no puedes usar el método CloudBees para tu propio servidor o solo funciona para un entorno de nube específico? – mkro

Respuesta

0

Si usted está interesado únicamente en Tomcat, se puede utilizar el Tomcat Plugin para Maven

No es difícil de configurar, simplemente marque la URL de la aplicación gestor de Tomcat, ya que se cambia de Tomcat 6 (http: // tomcat_server: 8080/manager /) a Tomcat 7 (http: // tomcat_server: 8080/manager/html).

El complemento se ejecuta después de la fase de compilación del "paquete", por lo que implementa directamente la guerra generada en un servidor remoto donde se está ejecutando Tomcat.

+0

¿Eso no redistribuye toda la guerra, no solo un delta de las diferencias? – Mark

+0

correcto, que redistribuye toda la guerra. –

2

Necesita soporte del lado del servidor para recibir el delta, que es donde nosotros (las nubes de la nube) llegan a invocar nuestra salsa secreta.

Lo que necesitaría es un servicio de implementación en el servidor de destino que comprenda el formato delta que se cargue.

No es difícil de hacer de alguna manera ... La guerra ha incorporado sumas de comprobación, por lo que si una entrada en la guerra tiene la misma ruta, última modificación, Crc y tamaño, entonces es un buen candidato para exclusión del delta, por lo que toma un hash o dos más seguro (sha-256 y md5 por ejemplo, para dar diferentes funciones para comparar) y si esos hash son iguales. Excluir del delta

Una aplicación web de fantasía Tomcat-implementador podría apoyar dicha implantación, pero que querría bloqueo hacia abajo para la producción, pero de todos modos qué hospedar a sí mismo cuando se puede GSETDIFY

0

encuentro que consigo errores de memoria insuficiente en el servidor, después de algunos despliegues de carga. Puede usar la extensión maven wagon ssh. Se puede cargar según la guerra expandida. Aquí es el doc uso:

http://mojo.codehaus.org/wagon-maven-plugin/usage.html

Pero no estoy seguro de cómo conseguir que sólo se carga archivos cambiado. Con hormiga había un componente de caché de archivos que almacenaba en caché la suma de comprobación de los archivos y solo volvía a cargar si la suma de comprobación había cambiado.

Incluso una vez que hayas cargado los archivos, es posible que se requiera un reinicio ya que Tomcat no es muy bueno con las implementaciones en caliente.

Cuestiones relacionadas