Autodespliegue con jenkins

En este tutorial veremos como configurar jenkins para realizar auto-despliegues.

Índice de contenidos


1. Introducción

Me surgía la necesidad de contaros cómo se realiza la autoinstalación de una aplicación java a través de la ejecución de un script, dentro de un paso de Jenkins. Existe un plugin (Deploy Plugin) que realiza el despliegue de las aplicaciones, pero hemos tenido la necesidad de hacerlo manualmente y aquí os muestro cómo.

Lo encuentro muy útil, muy sencillo y muy cómodo.


2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro Retina 15′ (2.2 Ghz Intel Core I7, 16GB DDR3).
  • Sistema Operativo: Mac OS Yosemite 10.10
  • Entorno de desarrollo: jenkins ver.2.7.4

3. Instalación plugin

El primer paso será la instalación del plugin necesario para poder configurar el auto-despliegue en jenkins.

– Jenkins Post build task


4. Configurar plugin

Para configurar este plugin, simplemente, tendremos que ir al final de la configuración de jenkins de nuestro proyecto, sección “Acciones para ejecutar después”. Abrir el desplegable “Añadir una Acción” y seleccionar “Post Build Task”

Ahora configuramos este plugin, para ello, añadimos en el apartado “script”, el path del script que realiza el despliegue.


5. El script

Generamos un script start.sh, en el directorio que hemos indicado en el paso anterior.

start.sh

En este directorio tenemos el archivo services-.XXXX.jar y el script start.sh, en la carpeta “core” están los archivos de configuración de core y en la carpeta “services” los de services. El script start.sh ejecuta los siguientes pasos:

  • Detiene la aplicación services-XXXX.jar
  • Comprueba la existencia de los ficheros de configuración y el fichero jar
  • Despliega el fichero jar
  • Espera 45 segundos para darle tiempo a que se despliegue, que genere el log y así poder mostrarlo en la consola de jenkins.
  • Si todo va bien, muestra el mensaje DEPLOYMENT SUCCESS, si no, muestra el error correspondiente.

Nota: XXXX es la versión de la aplicación a desplegar.


6. Referencias

  • Post Build Task plugin: https://wiki.jenkins-ci.org/display/JENKINS/Post+build+task

7. Conclusiones

Hemos conseguido configurar el despliegue automático de nuestra aplicación, desde ahora, una vez actualizado el código en el repositorio, se construirá la build y al terminar se lanzará la instalación de la aplicación. ¿No me digas que no es cómodo?

¡¡¡Me encanta!!!

Un saludo.

Kike