Generar un archivo WAR de Grails mucho más pequeño.


Publicado el 27 de enero, 2012 , por jl bajo Desarrollo en Grails. Comenta

Cuando generamos un archivo WAR de una aplicación Grails nos damos cuenta de que este puede ser muy grande. Si estamos utilizando Grails 2.0, por ejemplo, el archivo generado con los plugins instalados por defecto pesa más de 30MB, lo cual no es un problema real de almacenaje con los estándares actuales, pero si lo es a la hora de subirlo vía ftp a un servidor productivo, por ejemplo.

Hacer “deploys manuales” en ambientes productivos no es lo más recomendado,  para desplegar aplicaciones en ambientes productivos lo mejor es hacerlo a través de algún software que te permita hacer Integraciones Continuas, Bamboo y CloudBees son buenos ejemplos, sin embargo, no es objeto de este post ahondar en este tema.

En el caso más común, normalmente generamos un archivo WAR con nuestra aplicación y lo subimos vía ftp o http para después desplegarlo en nuestro contenedor, sin embargo, si usamos la opción -nojars durante la construcción del WAR Grails nos construirá un archivo mucho, mucho más ligero:

$grails war -nojars

Para un WAR con ambiente productivo:

$grails prod war -nojars

¿Cuál es el truco?

Ninguno, simplemente Grails construye un WAR sin las librerías que normalmente estarían en la carpeta WEB-INF/lib dentro del WAR, dejándonos la tarea a nosotros de subir estas librerías directamente en nuestro contenedor de aplicaciones (en la carpeta tomcat/lib por ejemplo). Cabe mencionar que no solo tendremos que subir manualmente estas librerías al contenedor, también tendremos que mantenerlas actualizadas.

¿Y la primera vez?

Existen varias formas de generar las librerías la primera vez, sin embargo, la más simple es crear el WAR completo una sola vez, desplegarlo y copiar las librerías necesarias.

Esperamos que esto les ayude y reduzca su consumo de ancho de banda.





Deja un comentario



desde el blog

Todos los días algún miembro del equipo escribe sobre todo aquello en lo que trabajamos, nuestras inquietudes, nuestros descubrimientos o nuestros gritos de ayuda. Te invitamos a leer el diario de los "vincoorbianos".

El diablo está en los detalles

La complejidad de la realidad es innegable, la cantidad de estímulos disponibles al ser, innumerables.

De hecho, el cerebro humano es un filtro negativo que...

Crear un archivo CSV con groovy

Para este ejemplo, supongamos que tenemos un Array de Arrays como datos.

def animales = , , [id:'3',color:'amarillo',animal:'Canario',descripcion:'El canario es...
¿Usas EGit y tienes problemas? Prueba con Git Bash

Ayer me encontraba con Francisco pulleando cambios a su repositorio local, cuando de pronto apareció un wild EGit que no nos lo permitió.

¿Y por...