Jenkins CI, una herramienta para automatización de tareas

 

Jenkins CI

En nuestro día a día nos encontramos con una diversidad de tareas repetitivas y muchas veces tediosas. Como sysadmins, tenemos nuestros maravillosos scripts para realizar tareas de monitoreo y gestión de servidores, mientras que para usuarios comunes tareas de respaldo y limpieza de directorios suelen ser útiles y apropiadas.

Jenkins CI se presenta como una herramienta de Integración Continua (CI, por sus siglas en inglés) cuyo propósito es el de automatizar fases repetitivas del desarrollo de software como las compilaciones y pruebas unitarias con el fin de garantizar entregas continuas de software funcional. Con paquetes para las distribuciones principales de Linux y BSD.

Sin embargo, contiene un amplio abanico de opciones que pueden interesarnos a Sysadmins y usuarios, tal como la ejecución de Comandos Shell o invocar scripts de forma similar a como lo haríamos en un Terminal.

Una de sus cualidades más atractivas es la posibilidad de realizar la configuración de forma sencilla a través de una interfaz gráfica web, con similitudes a crontab pero con retroalimentación visual inmediata.

Configuración de tareas en Jenkins CI

Su panel principal nos ofrece, de forma muy gráfica y entretenida, el status de todas nuestras tareas programadas para verificar si han corrido de forma exitosa o no.

Tareas de Jenkins para su propia compilación y pruebas

Adicionalmente, está la posibilidad de establecer dependencias entre las tareas y acciones posteriores dependiendo del resultado de la ejecución de cada una de ellas, lo que nos resulta muy útil para automatizar tareas de mayor complejidad. Otro de sus beneficios es que cuenta con un backend web, que nos permite enlazar varios servidores de forma de distribuir tareas entre ellos o implementar arquitecturas Maestro-Esclavo para que un servidor maestro dispare tareas en los servidores asociados a este como esclavo. Incluso ofrece capacidades de Alta Disponibilidad de forma que al existir errores en el servidor Maestro, un esclavo pueda ocupar su rol y orquestar las tareas en el resto de los servidores.

Jenkins CI se encuentra desarrollada en Java y aprovecha las últimas potenciales de este lenguaje para permitir la extensión de sus funcionalidades haciendo uso de plug ins, los cuales varían desde estadísticas y reportes de ejecución a manejo de clusters y sistemas distribuidos.

¡Te invitamos a probar Jenkins CI e incrementar tu productividad al máximo!


10 comentarios

  1.   Jonatan dijo

    Buenisimo para hacer automatizacion, no conocia esta herramienta, muchas gracias !!!

  2. Todo iba bien hasta que dijiste que estaba desarrollada en Java.

  3.   Gonzalo Martinez dijo

    Java? Ya me basta para no usarlo ni recomendarlo. Tuve muchos dolores de cabeza ya con sistemas hechos en Java.

    1.    eliotime3000 dijo

      ¿Te refieres al Java de Oracle o al OpenJDK? Porque el OpenJDK en muchos casos ha sido el principal dolor de cabeza para muchos desarrolladores de JAVA.

      1.    Gonzalo Martinez dijo

        Probe con ambos, y si vien el OpenJDK me dio mas problema, el JDK de oracle tambien.

        El dia que Java se compile en lenguaje de maquina, al menos sea intepretado a algo directo, o que se base en algo tipo un CLR (sin bytecode, VM, ni cosas extrañas en el medio), quiza lo considere nuevamente.

        No me parece mal lenguaje Java (al contrario como lenguaje me parece muy bueno), pero su implementacion me parece asquerosa y desastrosa.

  4.   arkhan dijo

    Yo prefiero fabric, para crear script que se ajusten a lo que quiero hacer, ademas es python

  5.   Alejandro dijo

    Está muy bien la automatización de tareas para sysadmin, pero creo que lo más importante de Jenkins es lo de integración continua. Especialmente el despliegue de aplicaciones combinándolo con herramientas como Ant o Phing (el Ant de PHP). Sumado a la gran cantidad de plugins de QA que se le pueden agregar.

    Lamentablemente hay muy poca documentación en internet. Y por otro lado, la interfaz web es bastante poco intuitiva, incluso para usuarios con bastante experiencia.

    Muy buen artículo. Es una herramienta que hay que difundir.

  6.   eliotime3000 dijo

    Para los que no saben:

    Jenkins se usa en algunos repositorios de desarrolladores de CyanogenMod que compilan ROM’s que no tienen soporte oficial garantizado de Cyanogen para modelos de celulares como el Samsung Galaxy Mini.

  7.   pepe dijo

    Está bueno, pero es para servidores, yo pensé que era para el escritorio. debe ser una herramienta muy potente pero esta fuera de mi alcance de usario normal.

  8.   allen dijo

    Esta bien y funciona para integracion continua de componentes de software, daily y nightly builds

Deja un comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.