jueves, 31 de enero de 2008

Usando Apache Continuum 1.1 - Parte 1

La versión 1.1 de Continuum posee una gran cantidad de mejoras y nuevas características las cuales lo convierten en uno de los productos de integración continua opensource mas fácil de configurar y de usar. A continuación voy a presentar una serie de artículos que muestran como se puede tener esta herramienta corriendo tan solo en minutos.

Lo primero que debemos hacer es bajar la versión mas reciente del site de apache. Existen varios formatos, incluyendo un war que se puede instalar bajo tomcat. Yo voy a usar zip para este ejemplo.

La instalación es tan sencilla como descomprimir el archivo zip en un directorio cualquiera. Supongamos que tenemos el archivo zip en ~/install/continuum y que queremos instalarlo bajo un directorio llamado samples. La secuencia de comandos seria:

cd
mkdir samples
cd samples
unzip ~/install/continuum/apache-continuum-1.1.zip
ls
continuum-1.1

Ahora solo falta arrancar Continuum. La herramienta corre por defecto bajo un jetty autocontenido y para levantarla solo falta ubicar el script asociado a la plataforma donde estamos corriendo. Para ubicar el script debemos cambiarnos al directorio continuum-1.1/bin, allí podemos encontrar las siguientes opciones

linux-x86-32
macosx-universal-32
solaris-sparc-64
windows-x86-32
linux-x86-64
solaris-sparc-32
solaris-x86-32
plexus.sh
plexus.bat


Si no se encuentra uno apropiado para la plataforma donde se trabaja se puede usar el script genérico plexus.sh/bat.

Una vez seleccionada la plataforma se debe ejecutar el script run.sh/run.bat. Las opciones disponibles son:

./run.sh
Usage: ./run.sh { console | start | stop | restart | status | dump }

Ejemplo:

cd ~/samples/continuum-1.1/bin/linux-x86-32
./run.sh status
Apache Continuum is not running.

Continuum corre por defecto en el puerto 8080, si se desea cambiar este puerto debemos editar el archivo

cd ~/samples/continuum-1.1/conf
vi plexus.xml


En este archivo se configuran, aparte del puerto de ejecución, otra serie de parámetros como son la base de datos y el servidor de correos para las notificaciones.

Para cambiar el puerto se debe editar el siguiente parámetro

<jetty.port>8080</jetty.port>

y para cambiar el servidor y puerto de correo se deben editar los siguientes valores

<name>mail/Session</name>
<type>javax.mail.Session</type>
<properties>
<property>
<name>mail.smtp.host</name>
<value>localhost</value>
</property>
<property>
<name>mail.smtp.port</name>
<value>25</value>
</property>

En esta misma sección se pueden cambiar los parámetros de usuario y password si es que se requiere autenticación con el servidor smtp.

Una vez que tengamos configurados estos parámetros podemos arrancar Continuum por primera vez usando el script run.sh.

cd ~/samples/continuum-1.1/bin/linux-x86-32
./run.sh start
Starting Apache Continuum...

Para ver el resultado de este ejecución debemos analizar los logs que se generan bajo la carpeta logs

cd ~/samples/continuum-1.1/logs
tail -500f wrapper.YYYYMMDD.log

Es normal ver errores de bases de datos la primera vez que se ejecuta la aplicación porque en ese momento es que se ejecuta el script que genera la base de datos y expande la aplicación.

Algunos de los errores presentes son

ERROR 42Y07: Schema 'SA' does not exist

[WrapperSimpleAppMain] WARN JPOX.RDBMS - Error
initialising derby schema : 'DROP FUNCTION'
cannot be performed on 'JPOX_MATCHES' because
it does not exist.

Cuando aparezca la vaca en el log significa que Continuum esta funcionando correctamente.



Ahora solo nos queda accesarla desde un browser

http://localhost:8080/continuum


Pero antes de hacer eso, vamos a configurar otra parte relacionada a la notificación por email como son la dirección de envío, el nombre del emisor del correo y configurar los correos para que incluyan la salida de la ejecución. Para cambiar estos parámetros así como personalizar el asunto de los correos y otros parámetros de envío se debe editar el siguiente archivo. Esta configuración no se hizo antes porque este archivo se expande con la aplicación la primera vez que se ejecuta

cd ~/samples/continuum-1.1/apps/continuum
/webapp/WEB-INF/classes/META-INF/plexus
vi application.xml


<from-mailbox>mi-email@company.xxx</from-mailbox>
<from-name>Continuum</from-name>

<includeOutput>true</includeOutput>

Después se debe reiniciar
cd ~/samples/continuum-1.1/bin/linux-x86-32
./run.sh restart
Stopping Apache Continuum...
Starting Apache Continuum...

Ahora que estamos listos podemos por fin accesar la aplicación.

Durante el primer acceso se nos presenta una página para crear la cuenta del administrador.



Después de creada podremos hacer login por primera vez.



Y después se nos presenta otra página para configurar los directorios de trabajo que usa la herramienta. En esta página se recomienda no usar localhost como Base Url ya que esta base es usada por los correos de notificación para hacer referencia a los reportes en línea .



Listo, ya tenemos Continuum 1.1 corriendo, ahora solo nos falta configurar los horarios, los perfiles de ejecución y agregar proyectos. Todos estos puntos los veremos en la próxima parte.



Powered by ScribeFire.

Publicar un comentario