Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Entorno de integracion continua para desarrollos en liferay portal basado en hudson

Gustavo Fernández
Gustavo Fernández

En el desarrollo de software, el ciclo de vida de los proyectos
suele pasar por los siguientes estados:

Desarrollo → Pruebas → Producción.

En cada uno de estos estados se realizan unas tareas que pueden dar
origen a pasar al siguiente estado o volver al estado anterior.
Dependiendo del número de veces que se pase entre los estados en un
desarrollo y de los hitos que se marquen, para poder pasar entre los
distintos estados, se puede hablar de desarrollos más o menos
orientados a metodologías
ágiles
(siendo esto una simplificación grandísima y errónea si se
interpreta al pie de la letra de lo que son metodologías ágiles).

Para realizar estas tareas de manera automática, además de
para otras cosas como la validación de la calidad de código, test
unitarios etc… se suelen utilizar herramientas de integración continua.

En zylk.net utilizamos hudson/jenkins junto con tareas de ant y/o maven para el procedimiento y la
gestión del ciclo de vida de los desarrollos. Un tipo de desarrollos
que se realizan en zylk son aquellos
basados en liferay, con el sdk
del producto
. A continuación se muestra un gráfico que ilustra
la gestión de proyectos de liferay y la visión que tenemos en zylk de
como realizarlos desde el punto de vista del ciclo de vida de
Desarrollo → Pruebas → Producción.

Entorno de integracion continua para desarrollos en liferay portal basado en hudson

En el gráfico podemos ver las siguientes partes

  • Entorno de desarrollo en PC
  • Entorno de QA
  • Entorno de Testing
  • Entorno productivo

Y un conjunto de herramientas que usamos en el desarrollo como son

  • Gestor de versiones (subversion)
  • Gestor de incidencias (mantis)
  • Gestor de envío de notificaciones (servidor de email, zimbra)
  • Gestor de ciclo de vida para paso entre entornos (hudson/jenkins)

Entorno de integracion continua para desarrollos en liferay portal basado en hudson

Desde el punto de vista de zylk una de las partes más importante es
el entorno de PC, pensado con una características principal, debe ser
auto-consistente, es decir el proyecto que se esté desarrollando debe
poder ejecutarse en el PC local del desarrollador.

El entorno de QA es el encargado de descargar las versiones
nuevas del sistema de gestión de versiones, compilar, hacer los test
pertinentes y desplegar en los distintos entornos.

Una vez explicado este tema, de manera general, la parte
particular que nos ocupa en este artículo es describir los problemas y
soluciones que hemos adoptado en zylk.net para adaptar los desarrollos
de liferay a esta metodología, teniendo en cuenta que queríamos un
alineamiento total con el producto y su SDK.

Los problemas principales que nos encontramos fueron dos:

  • Poder especificar la versión del SDK con la que realizar las
    tareas en el entorno del SDK, de manera externa.
  • Poder ejecutar las tareas de compilación y despliegue que el
    propio SDK facilita pero desde fuera de las carpetas del propio SDK
  • Poder desplegar en maquinas remotas las compilaciones.


Además se debería poder seguir usando el SDK de manera normal
en el entorno del PC precisamente para que cualquier desarrollador
pueda desarrollar siguiendo las buenas prácticas para recomendadas por
el producto.

Las soluciones fueron muy básicas y poco intrusivas y
consisten en pequeñas variaciones del SDK de liferay que se usa en el
entorno de
QA
(en el entorno de PC se usa el SDK estándar precisamente para
poder utilizar todo el know-how existente en internet relacionado con
liferay) que permite hacer las tareas que hemos comentado.

Con este modelo disponemos de un control del ciclo de vida de
los desarrollos basados en liferay para poder gestionar de manera
sencilla que se adecua a la forma de trabajo que se usa en zylk.net
para el resto de desarrollos no basados en liferay.

A continuación unas imágenes de la herramienta de integración
que usamos en zylk.net

Entorno de integracion continua para desarrollos en liferay portal basado en hudson

vista de los proyectos de un cliente

 

Entorno de integracion continua para desarrollos en liferay portal basado en hudson

vista del detalle del despliegue de un proyecto concreto en el
entorno de test.

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *