¿Qué es Jenkins?
Se trata de una herramienta multiplataforma desarrollada en Java y cuya filosofía es seguir la línea marcada por las nuevas metodologías de trabajo en proyectos IT y las nuevas tecnologías en servidores de automatización ya que facilita la integración continua (Continuous Integration) y la entrega continua (Continuous Delivery) de los trabajos realizados por el equipo del proyecto.

Al tratarse de una herramienta desarrollada en Java, es posible ejecutarla en cualquier distribución (Windows, MacOS y Unix) y, aunque dedicaremos un artículo a los pasos que deben seguirse para su correcta instalación en Linux, la web de Jenkins proporciona una guía que realmente permite una fácil instalación y configuración vía interfaz web. Tras su instalación, el Dashboard (panel de mando) inicial que mostrará Jenkins tiene el siguiente aspecto:
- La columna "S" (status) indica el status: en caso de que la última ejecución del trabajo haya sido exitosa se mostrará un punto de color azul, mientras que si la ejecución ha sido fallida el punto saldrá de color rojo.
- En la columna "W" (weather) muestra la tendencia de las ultimas 5 ejecuciones: si todas ellas han resultado exitosas, saldrá un sol mientras que si algunas de las últimas 5 no lo han sido, el icono cambiará.
La información completa sobre el funcionamiento y las características de Jenkins se encuentra realmente bien explicada en la documentación oficial que se encuentra en el siguiente enlace.
Plugins
Jenkins es extensible mediante un montón de plugins que están a disposición de los usuarios en su propio marketplace. Estos plugins permiten modificar ciertos comportamientos por defecto de la herramienta y también ofrecen funcionalidades extra que Jenkins no ofrece en su instalación base.
Uno de los plugins más destacados que podemos instalar es ‘Pipeline’. Un ‘pipeline’ (tubería) es un grupo de eventos o trabajos que se ejecutan uno tras otro en secuencia. Gracias a este plugin, podemos revisar el código de los trabjamos planificados por etapas y también nos permite conocer de una manera mucho más visual donde han surgido los problemas y/o errores.
- Almacenar credenciales (‘Credentials’)
- Gestión de agentes también conocidos como esclavos (‘SSH agents’)
- Monitorizar trabajos externos (‘Monitoring external jobs’)
- …