09
Mar

Manejando Glassfish desde Ant

Sigo con mi intención de automatizar lo más posible las construcciones y subidas de mi proyecto a entornos de producción e integración. En mi proyecto actualmente usamos Glassfish v2, y cuando me puse a jugar un poco con Husdon me di cuenta de que el pluggin de Hudson para realizar despliegues la opción para Glassfish es una castaña pilonga. ¿Por qué era una castaña?, fácil, por que no te deja hacer despliegues en remoto, es decir, sólo puedes desplegar en un glassfish que tengas instalado en la misma máquina que se ejecuta el Hudson…

Esto me ha obligado a buscar otras opciones. Pues googleando un poco encontré las librerías de glassfish para añadir nuevas task a Ant. Para conseguir que esta librería nos funcione en nuestros scripts de Ant simplemente tendremos que anadir a nuestro path:

<path id= “glassfishtask.classpath”  >
<fileset dir= “./lib/” >
<include name= “**/*.jar” />
</fileset>
</path>

En esa ruta tendremos que situar todos los jars de administración de glassfish, sí, son unos cuantos. Os dejo una captura de pantalla para que los veáis.

DibujoYa tenemos todo este churro de librerias en nuestro path. Ahora le tenemos que decir a Ant dónde está el descriptor que define las tareas que puede usar, para esto añadimos esto a nuestro script:

<typedef resource=”com/sun/tools/appserver/antlib.xml” classpathref=”glassfishtask.classpath” />

Concretamente este xml se encuentra en el sun-appserv-ant.jar, uno de los que hemos añadido. Pero además en el pantallazo vemos una carpeta lib. Esto es la pequeña chapucería (xD) que he tenido que hacer para que esto funcione, y es que hay que copiar “config”  situada en la raiz de nuestra instalación de glassfish (p.e. d:/glassfish/config ).

Ahora ya tenemos todo lo que necesitamos para empezar a trabajar. Os dejo un ejemplo de una tarea:

<target name=”deploy-INT” description=”Despliega la aplicacion” >
<sun-appserv-deploy file=”${dist}/Storetto.ear”
name=”Storetto”
force=”true”
precompilejsp=”false”
verify=”false”
createtables=”false”
upload=”true”
user=”admin”
passwordfile=”glassfishpassword.txt”
host=”172.16.18.99″
port=”4848″
asinstalldir=”D:/hudson/lib” />

Muy importante es el atributo “asinstalldir” , el cual debe apuntar a donde tengamos nuestras librerias y nuestra carpeta config.

Espero que os sirva de ayuda, gracias.

free blog themes

Deja un comentario

free blog themes