Mostrando las entradas con la etiqueta Ant. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Ant. Mostrar todas las entradas

jueves, 22 de enero de 2009

Apache Continuum 1.3.1 alpha disponible para pruebas

Ya está disponible para pruebas la versión 1.3.1 Alpha de Apache Continuum, la herramienta de integración continua de Apache. Entre las mejoras que ofrece esta están

  • Migración a Struts 2
  • Builds concurrentes
  • Builds distribuidos
  • Usa httpclient 4.0beta
  • Varios defectos importantes

Para mas detalles seleccionen este enlace.

sábado, 16 de febrero de 2008

Usando Apache Continuum 1.1 - Parte 2

Una vez instalado Continuum estamos listos para agregar nuestros proyectos al sistema. Al hacer login con la cuenta administrativa podemos ver que existe un grupo por defecto que no tiene proyectos. Aquí tenemos la opción de crear un grupo nuevo o de agregar proyectos a este grupo por defecto.



Pero antes de hacer todo esto debemos configurar varias cosas que van a ser comunes a todos esos grupos tales como el horario de ejecución, los comandos a ejecutar en esos horarios, el perfil de la ejecución (JDK a usar, parámetros particulares, etc). Para configurar todo esto vamos a revisar todas las opciones que están bajo la etiqueta Administration en el menú de la izquierda.



  • Schedules - Horarios
La primera opción es la de horarios. Al seleccionar esta opción nos encontramos con el horario por defecto el cual está activo y se ejecuta cada hora. Los horarios en Continuum están basados en Quartz Scheduler y la definición del horario es similar al comando cron de Unix.



Desde esta página tenemos 3 opciones: agregar , modificar y eliminar.



Para agregar una nueva definición le damos clic al botón Add y llenamos el formulario de definición.



Una vez creado, el nuevo horario estará visible en la tabla de horarios.



  • Installations - Instalaciones
Las instalaciones sirven para definir variables de ambientes y JDKs a ser usados durante la generación de los artefactos de los proyectos.








  • Profiles - Perfiles
Los perfiles son agrupaciones de instalaciones. Allí podemos definir combinaciones de JDK y variables de ambientes.









  • Queues - Colas de ejecución
Aquí podemos consultar las ejecuciones que se están dando en un momento dado.



  • Build definition templates - Plantillas para definición de ejecuciones
Permite administrar las plantillas de definición de ejecuciones.





  • Configuration - Configuración
Permite cambiar las rutas de trabajo temporal de Continuum. Estos valores se establecen durante el primer login y generalmente no se vuelven a cambiar.
  • Appearance - Apariencia
Permite agregar una imagen de la empresa y colocar información a pie de página.



  • Users - Usuarios
Opción de administración de usuarios.

viernes, 16 de noviembre de 2007

Continuum 1.1 por fin es FINAL

Después de 2 versiones alfa y 4 beta por fin esta disponible para hacer testing la version final 1.1 de Continuum, la herramienta de integración continua de Apache. El release final estará disponible en pocos días. Esta versión incluye varias mejoras respecto al beta-4 e introduce una herramienta nueva para hacer backups de la base de datos de continuum (no la de usuarios).

La lista de mejoras de esta versión la pueden ver aquí.

Los instaladores están en estos links:

- Runtime: Aplicación standalone

- Webapp: WAR para instalar en servlet container

- Data cli: Cliente para migrar la base de datos

- xmlrpc util: Herramienta xmlrpc para backups



Powered by ScribeFire.

domingo, 28 de octubre de 2007

Integración continua usando Hudson

Hudson es otra herramienta de integración continua open source que se encarga de monitorear la ejecución de tareas repetidas ya sea la creación de un proyecto o la ejecución de tareas en un cron, es muy similar a Continuum y Cruise Control.

Entre las características de la herramienta tenemos:

  • Fácil de instalar. Se distribuye como war que se instala muy fácil en cualquier web container como tomcat. También se puede ejecutar como standalone ejecutando el comando
  • java -jar hudson.war

  • La administración se realiza totalmente usando una interfaz web lo cual facilita enormemente su configuración.
  • Soporta notificación via IM, e-mail y RSS.
  • Gran cantidad de reportes para JUnit y TestNG.
  • Extensión de la herramienta a través de plugins. Actualmente se cuentan con plugins de JIRA, findbugs, Plot, Polarion, Trac, Clover entre otros.
  • Soporta cvs y subversion como scm. También se puede trabar sin repositorio para control de versiones (scm) lo cual es útil cuando se tienen proyectos personales que se almacenan de forma local.

A continuación tenemos una serie de pantallas de la herramienta


  • Pagina principal


  • Agregar un nuevo proyecto





  • Opciones de administración


  • Detalle de un proyecto




  • Ejecución de un build





  • Opciones al agregar un proyecto


  • Estructura en disco





Powered by ScribeFire.

sábado, 5 de mayo de 2007

Integración continua usando Continuum

Continuum es un producto de la fundación Apache para integración continua. A diferencia de Cruise Control, Continuum utiliza una interfaz web para realizar todas sus operaciones. El producto esta basado en el popular scheduler Quartz y permite integrar proyectos de maven 1, Maven 2, Ant y scripts. Lo bueno de Continuum es lo fácil de instalar y de administrar. Prácticamente se tiene continuum corriendo en menos de 5 minutos.

La versión estable es la 1.0.3, la cual corre bajo un jetty autocontenido que por defecto corre en el puerto 8080. La instalación es básicamente descomprimir el instalador en un directorio cualquiera. En la carpeta bin existen scripts para ejecutarlo bajo diferente plataformas, solo basta ubicar la plataforma y ejecutar el comando ./run.sh start o si es windows .\run.bat. Cuando se ejecuta este comando por primera vez, Continuum expande en la carpeta apps la aplicación con sus valores por defecto así como crea la instancia de base de datos que usa internamente. Por defecto la base de datos es Apache Derby pero puede ser cambiada por otra ( Continuum trae una definición para postgreSQL y he leído de personas que lo han configurado con MySQL ).

Para probar la instalación solo falta ejecutar http://localhost:8080/continuum/servlet/continuum. La primera vez que se ejecuta se llega a una pagina para registrar el usuario administrador. Despues se puede hacer login con ese usuario y comenzar a usar la aplicación. La aplicación permite la definición de usuarios basados en perfiles así como también permite de forma opcional usuarios guest.

Si se quiere cambiar la configuración por defecto se debe editar el archivo apps/conf/application.xml. Alli se puede cambiar el puerto de ejecución, la información del servidor smtp para notificaciones, etc.

Los logs de la aplicacion se pueden ver bajo apps/logs.

Para registrar un proyecto solo basta con seleccionar el tipo de proyecto desde el menu y cargar el archivo de configuración del proyecto. Para Maven 1 es el project.xml, Maven 2 el pom.xml, ant el build.xml, etc. Lo único requerido es que el archivo de configuración tenga definido los parametros de scm para conectarse con el repositorio de control de versiones (CVS, SVN, etc). Una vez que se carga el archivo de configuración Continuum se encarga de registrarlo en la bd usando los valores definidos en el archivo y baja del repositorio una copia local sobre la cual va a trabajar. Después Continuum se encargara de revisar el repositorio scm por cambios (por defecto cada hora), si se encuentran cambios presentes estos se bajan a la copia local y se ejecutan todos los comandos definidos durante el proceso de setup del proyecto. Para Maven 2 seria clean install. Si se presenta un error durante esta ejecución se enviaran notificaciones a los usuarios responsables. Estas notificaciones pueden ser por email o por IM. Adicionalmente Continuum mantienen un histórico de todos los builds que ha realizado o intentado realizar sobre un proyecto.

Si se quiere hacer seguimiento de este proyecto se pueden registrar en Nabble y asi reciben feedback de la comunidad.

En este momento se encuentra disponible para pruebas la version 1.1 alpha. Esta versión contiene una gran cantidad de mejoras con respecto a la 1.0.3. No he podido revisarla en profundidad pero si noté que cambio la interfaz web, esta fue reestructurada y ahora como que tiene mas opciones. El otro cambio interesante es que ahora se distribuye tambien como un war por lo que se puede instalar en cualquier servlet container de su preferencia.

Una nota interesante, si se esta trabajando bajo windows y se tiene Zone Alarm instalado se puede obtener un error de clase no definida "Files Zone" al tratar de arrancar Continuum. El probema se debe a que Zone Alarm modifica el PATH de la máquina y agrega un directorio definido entre doble comillas. Solo deben quitar esas dobles comillas, abrir una nueva ventana DOS y volver a ejecutar .\start.bat.


Powered by ScribeFire.