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

jueves, 21 de enero de 2010

Apache Continuum 1.3.5 disponible

Ya esta disponible la versión 1.3.5beta de Apache Continuum, la herramienta de integración continua de Apache. La lista de cambios la pueden revisar en este enlace.

martes, 10 de marzo de 2009

Nexus 1.3.0 disponible

Ya esta disponible la nueva versión de Nexus - el administrador de repositorios para maven de la empresa Sonatype, la misma gente que desarrolla el plugin de maven para Eclipse - m2eclipse.  Esta actualizacion es tanto para la version open source como para la profesional.  La lista de nuevas funcionalidades la pueden ver aqui y la lista de defectos la pueden revisar en este enlace.

miércoles, 18 de febrero de 2009

Maven 2.0.10 disponible

Ya esta disponible la versión 2.0.10 de Maven, la popular herramienta de administración de proyectos de Apache.

Para descargarlo usen este enlace, y para mas información usar este.

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.

martes, 13 de enero de 2009

Apache Continuum 1.2.3 disponible

Ya está disponible la versión 1.2.3 de Apache Continuum, la herramienta de integración continua de Apache. Esta versión es de corrección de defectos. Para ver la lista de mejoras seleccionen este enlace, y para descargarlo usen este.

sábado, 27 de septiembre de 2008

Actualizando Apache Continuum de 1.1 a 1.2

La versión 1.2 de Apache Continuum contiene una gran cantidad de mejoras con respecto a la versión anterior por lo que se recomienda su actualización.

A continuación describo los pasos necesarios para hacerlo:

  1. Instalar la versión 1.2

  2. Lo primero que debemos hacer es bajar el instalador y descomprimirlo en la ubicación deseada. La aplicación quedará instalada en el directorio

    apache-continuum-1.2

  3. Copiar la configuración de correos y puerto de ejecución.

  4. En la versión 1.1 esta configuración se encontraba en el archivo

    continuum-1.1/conf/plexus.xml

    Ahora se encuentra en el archivo

    apache-continuum-1.2/conf/jetty.xml

    Para cambiar los valores del servidor de correo debemos actualizar esta sección. Aquí colocamos los valores del servidor y del usuario si se requiere autenticación.



    <!-- continuum configuration -->
    <!-- START SNIPPET: mail -->
    <New id="validation_mail" class="org.mortbay.jetty.plus.naming.Resource">
    <Arg>mail/Session</Arg>
    <Arg>
    <New class="org.mortbay.naming.factories.MailSessionReference">
    <Set name="user"></Set>
    <Set name="password"></Set>
    <Set name="properties">
    <New class="java.util.Properties">
    <Put name="mail.smtp.host">localhost</Put>
    </New>
    </Set>
    </New>
    </Arg>
    </New>
    <!-- END SNIPPET: mail -->

    En el mismo archivo podemos cambiar el puerto de ejecución el cual tiene por defecto el valo 8080, cambiando la entrada de jetty.port


    <!-- START SNIPPET: jetty_port -->
    <Call name="addConnector">
    <Arg>
    <New class="org.mortbay.jetty.nio.SelectChannelConnector">
    <Set name="host"><SystemProperty name="jetty.host" /></Set>
    <Set name="port"><SystemProperty name="jetty.port" default="8080"/></Set>
    <Set name="maxIdleTime">30000</Set>
    <Set name="Acceptors">2</Set>
    <Set name="statsOn">false</Set>
    <Set name="confidentialPort">8443</Set>
    <Set name="lowResourcesConnections">5000</Set>
    <Set name="lowResourcesMaxIdleTime">5000</Set>
    </New>
    </Arg>
    </Call>
    <!-- END SNIPPET: jetty_port -->

  5. Personalizar los correos


  6. Al igual que en la versión 1.1, esta configuración se encuentra en el archivo

    apache-continuum-1.2/apps/continuum/webapp/WEB-INF/classes/META-INF/plexus/application.xml

    Las entradas que podemos personalizar aquí son

    Dirección de envio y asunto del correo

    <from-mailbox>midireccion@miserver.com</from-mailbox>
    <from-name>Integracion Continua</from-name>
    <timestamp-format>EEE d MMM yyyy HH:mm:ss Z</timestamp-format>
    <subject-format>[continuum] BUILD ${state}: ${project.projectGroup.name} - ${project.name} - ${build.buildDefinition.description}</subject-format>

    Contenido del correo. Se debe colocar en true los valores que se quieran activar

    <includeBuildResult>true</includeBuildResult>
    <includeBuildSummary>true</includeBuildSummary>
    <includeTestSummary>true</includeTestSummary>
    <includeOutput>true</includeOutput>
    <alwaysSend>false</alwaysSend>

  7. Configurar los directorios de trabajo

  8. Se debe editar el siguiente archivo

    apache-continuum-1.2/conf/continuum.xml

    y agregarlas siguientes entradas con los valores correspondientes al ambiente local

    <?xml version="1.0" encoding="UTF-8"?>
    <continuum-configuration>
    <baseUrl>http://localhost:8085/continuum</baseUrl>
    <buildOutputDirectory>/export/home/myuser/apache-continuum-1.2/target/build-output-directory</buildOutputDirectory>
    <workingDirectory>/export/home/myuser/apache-continuum-1.2/target/working-directory</workingDirectory>
    <releaseOutputDirectory>/export/home/myuser/apache-continuum-1.2/target/release-output-directory</releaseOutputDirectory>
    </continuum-configuration>

  9. Copiar la base de datos

  10. Debemos copiar las bases de datos de proyectos y usuarios de 1.1 a 1.2

    Creamos directorios de datos


    cd ~/apache-continuum-1.2/
    mkdir data
    mkdir data/databases
    cd data/databases
    mkdir continuum
    mkdir users

    Proyectos

    cd ~/continuum-1.1/data/continuum/database
    tar -cvf continuum.tar *
    cd ~/apache-continuum-1.2/data/databases/continuum
    rm -fr *
    tar -xvf ~/continuum-1.1/data/continuum/database/continuum.tar

    Usuarios

    cd ~/continuum-1.1/data/users/database
    tar -cvf users.tar *
    cd ~/apache-continuum-1.2/data/databases/users
    rm -fr *
    tar -xvf ~/continuum-1.1/data/users/database/users.tar

    * NOTA WINDOWS: no se porque pero en mi ambiente la base de datos siempre se crea en el directorio apache-continuum-1.2/logs/data. Quizas sea un defecto de la aplicación.

  11. Arrancar Continuum 1.2

  12. A diferencia de la versión 1.1 donde había un script por cada tipo de ambiente, en esta versión hay un solo script para ejecutar: continuum. Este comando requiere Java 5 o superior para correr.

    Linux

    cd ~/apache-continuum-1.2/bin
    ./continuum start

    Windows (se debe instalar como servicio primero)

    cd apache-continuum-1.2/bin
    continuum.bat install
    continuum.bat start

    Se puede verificar la salida en el archivo logs/continuum.log

    cd apache-continuum-1.2/logs
    tail -100f continuum.log

  13. Agregar los roles nuevos a usuarios ya existentes

  14. Una vez que se hace login a la aplicación con un usuario administrador, se debe entrar a la opción de administración de usuarios y agregar los nuevos roles definidos en la versión 1.2 a cada usuario. Si no se hace esto las opciones local repositories y purge configuration no apareceran en el menu.

Como punto final, si la versión 1.1 desde donde se esta actualizando no era la 1.1 final sino una versión alfa o beta lo mas seguro es que el defecto CONTINUUM-1688 este presente. Para arreglarlo debemos hacer lo siguiente

Si no se tiene Derby Db instalado debemos bajar el instalador y descomprimirlo.

Definimos la variable de ambiente DERBY_HOME apuntando al directorio donde instalamos derby.

Usando ij ejecutamos el script que altera la bd


cd $DERBY_HOME/bin
ij

ij version 10.4
ij> connect 'jdbc:derby:~/apache-continuum-1.2/data/continuum/database';
ij> select count(*) from sa.CHANGESET;
1
-----------
2894

1 row selected

ij> alter table SA.CHANGESET alter column CHANGECOMMENT SET DATA TYPE varchar(8192);
0 rows inserted/updated/deleted

ij>exit;


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.

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.

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, 27 de octubre de 2007

Continuum 1.1-beta-4 disponible

La versión 1.1 de Continuum ya llega al release beta-4, falta poco para tener la versión oficial disponible.

Pueden bajarlo en estos links


En este link tienen la guia de instalación, la cual incluye las versiones ejecutable, tomcat, jboss, geonimo y glassfish


- < Continuum 1.1-beta-4 started! >
- ---------------------------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-
-


Powered by ScribeFire.

jueves, 20 de septiembre de 2007

Continuum 1.1-beta-3 disponible

Ya esta por salir el release 1.1-beta-3 de Continuum, la herramienta de integración continua de Apache, . Si quieren probarla la pueden bajar de aquí: standalone, webapp. La lista de mejoras las pueden ver aquí.



- < Continuum 1.1-beta-3 started! >
- ---------------------------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-
-


Powered by ScribeFire.

sábado, 18 de agosto de 2007

Continuum 1.1-beta-2 disponible

Ya esta disponible la mas reciente versión de Continuum, la herramienta de integración continua de Apache. Esta versión corrige una gran cantidad de bugs asi como una herramienta para administrar la base de datos. Lo pueden bajar desde aqui

- Continuum 1.1-beta-2 started!
- ---------------------------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-
-


Powered by ScribeFire.

miércoles, 15 de agosto de 2007

Quien desarrolla Continuum?

Una cosa bien interesante de trabajar con software libre es que si uno tiene un problema solo basta postearlo en un foro y alguien te ayuda, muchas veces esas personas son los mismos desarrolladores. Trabajando con Continuum he encontrado algunos bugs y siempre alguien me ha respondido con prontitud. Una de esas personas es Emmanuel Venisse, y hoy por fin lo conoci a través de una entrevista que le publicaron en la web. Que viva el software libre!!!!!!

Powered by ScribeFire.

sábado, 21 de julio de 2007

Continuum 1.1-beta-1 disponible

En los próximos días debe estar por salir la mas reciente versión de Continuum, la herramienta de integración continua de Apache. Si quieren probarla la pueden bajar de aquí: standalone, webapp. La lista de mejoras las pueden ver aquí.

- < Continuum 1.1 - beta - 1 started ! >
- ---------------------------------
- \ ^__^
- \ (oo)\_______
- (__)\ )\/\
- ||----w |
- || ||
-
-

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.