Tabla de Contenidos

Flujo de despliegue de una aplicación

El flujo que se ha implementado para el despliegue con Jenkins es ligeramente diferente al que teníamos en ÁTICA hasta este momento pero más sencillo y nos permite tener un mayor control sobre las versiones que estamos desplegando cada momento en cada uno de los entornos de trabajo.

El ciclo de vida en el desarrollo de aplicaciones es el siguiente:

Importante: En producción sólo se podrá desplegar a partir de una ejecución correcta en preproducción.

El servidor de integración continua Jenkins

El servidor de integración continua Jenkins, se encuentra disponible en https://jenkins.um.es y para acceder a él deberemos hacerlo a través del SSO de la Universidad de Murcia.

Una vez dentro podremos examinar nuestros proyectos o crear un proyecto nuevo. A continuación describiremos los diferentes pasos para configurar y ejecutar correctamente nuestro proyecto Fundeweb en Jenkins.

Cuando ejecutamos Jenkins para lanzar un proyecto, obtendrá la versión del código vigente en ese momento, la compilará y desplegará sobre el servidor correspondiente. Adicionalmente pasará los plugins CheckStyle, FindBugs y JavaNCSS para evaluar la calidad del código desplegado y tener una medida general del estado de la aplicación. De igual manera se lanzarán los test unitarios que hayamos realizado para asegurar que la aplicación a desplegar funciona correctamente.

En Jenkins se llaman Tareas a cada uno de los proyectos que se crearán y necesitaremos cuatro por cada uno de los proyectos FundeWeb que queremos desplegar, uno por cada entorno: local, desarrollo, preproducción y producción. Se disponen de plantillas diferentes para cada una de las “tareas” de manera que se puedan personalizar fácilmente.

Tipos de despliegues

En Jenkins disponemos de cuatro tipos de despliegues diferentes, cada uno con una configuración específica según el entorno objetivo. Dichos despliegues se encontrarán en el “Tab” Plantillas del menú principal, los cuales podremos utilizar como base para configurar nuestra aplicación.

Los diferentes tipos de despliegues acutan de manera diferente, a continuación explicamos qué tareas realizan cada uno.

Ejecución en preproducción

La variable Rev leerá el número de revisión que quiero desplegar en preproducción. En caso de querer la última indicaremos HEAD. El servidor Jenkins desplegará la revisión indicada y creará un Tag en base a ella, en caso de ser la revisión “HEAD” Jenkins calculará el número de esa revisión y lo añadirá al nombre del Tag.

Ejecución en producción

La variable Tag es un combobox ordenado de más reciente a más antiguo de los Tags generados en la fase de preproducción.

La variable TipoVersion es un combo box de tres valores correspondientes al tipo de versión que se quiere hacer. El nombrado de las versiones consta de tres dígitos dependiendo del tipo de versión: Versión.Revisión.Fix. Según indiquemos uno u otro tipo, la nueva versión creada aumentará el dígito correspondiente a esa posición.