Mi Blog
👉 Cómo crear gráficas en Jenkins

Cómo crear gráficas en Jenkins

 
(3 votos)

Crear gráficas con los resultados que queremos en Jenkins es sumamente sencillo gracias a que permite instalar miles de plugins. Uno de ellos, Plot, permite graficas nuestros datos en bonitas y útiles gráficas.

Seguid leyendo y os enseñaré a crear graficas de vuestros Jobs en Jenkins...

⬇️ Compra en Amazon el hardware que utilizo ⬇️

🔥 ¡DESCÚBRELOS! 🔥

 

 

¿QUÉ ES JENKINS?

Jenkins es un servidor que sirve para automatizar tareas, escrito en Java y open source. Está basado en el proyecto Hudson y es, dependiendo de la visión, un fork del proyecto o simplemente un cambio de nombre.

Jenkins ayuda en la automatización de parte del proceso de desarrollo de software mediante integración continua y facilita ciertos aspectos de la entrega continua. Admite herramientas de control de versiones como CVSSubversionGitMercurialPerforce y Clearcase y puede ejecutar proyectos basados en Apache Ant y Apache Maven, así como secuencias de comandos de consola y programas por lotes de Windows. Publicado bajo licencia MIT, Jenkins es software libre.

 

Principales características:

  • Puede orquestar cualquier tipo de proceso.
  • Utilizada para ejecutar tareas manuales, periódicas o automáticas.
  • Cuenta con más de 1400 plugins
  • Puede aumentar su capacidad de cómputo añadiendo nuevos agentes o servidores
  • Fácil de usar
  • Dashboard para visualizar estado de tareas.

 

También es posible utilizar Jenkins para:

  • Permite ejecución de procesos secuenciales
  • Monitoreo de procesos
  • Permite ejecución a horas determinadas
  • Ejecución en base a eventos
  • Ejecución distribuida en varias máquinas
  • Alertas ante problemas en algún proceso

 

Web: https://jenkins.io/

 

 

Jenkins permite instalar cientos/miles de plugins de todo tipo

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un equipo con Jenkins instalado
  • Conexión a Internet recomendado

 

 

2.- INSTALAR PLUGIN

Instalar el plugin para generar las gráficas es sumamente sencillo. Tan solo deberemos acceder como administradores a la URL de Jenkins: http://$URL_JENKINS/manage/pluginManager/available e instalar el plugin llamado Plot.

 

 

 

 

3.- CONFIGURACIÓN DE UN JOB DE ESTILO LIBRE

El primero paso que debemos hacer es crear un Job de tipo "estilo libre". Vamos a crear un Job muy sencillo para ver cómo podemos crear unas sencillas gráficas.

Gráficas en JenkinsCrear Job de estilo libre

 

 

En la configuración del Job introduciremos los siguientes datos en la parte General, donde deberemos decirle en que nodo de Jenkins queremos que se ejecute el Job, en mi caso en un agente llamado debian:

Gráficas en JenkinsConfiguración General

 

 

Como opción en el "Entorno de ejecución" tengo marcada la opción de borrar el workspace antes de arrancar el job:

Gráficas en JenkinsEntorno de Ejecución

 

 

Aquí es donde está "la magia". Crearemos un script sencillo de BASH dentro de "Build Steps" que haga lo siguiente:

  • Crear 2 columnas separadas por comas (Tamaño y Tiempo)
  • Meter los datos generados en $RANDM11 y $RANDOM12 que no son más qué números aleatorios generador con shuf

 

Toda la información será guardada en file1.csv.

Además, crearemos otro fichero file2.csv de la misma manera, pero variando el "límite inferior" y el "límite superior "en shuf de los números generados.

Gráficas en JenkinsBuild steps

 

 

Añadiremos el plugin "Plot build data" con la siguiente información para la gráfica número 1:

  • Plot group: Mi_Primer_Plot
  • Plot title: Ejecución Servidor 1
  • Plot description: Resultados en el Servidor 1
  • Number of builds to include: 10
  • Plot y-axes label: Tiempo y tamaño
  • Plot style: Line
  • Load data from CSV file: 
    • Marcamos Include all columns
    • URL: file1.csv

 

Añadiremos otra gráfica, pero para la número 2:

  • Plot group: Mi_Primer_Plot
  • Plot title: Ejecución Servidor 2
  • Plot description: Resultados en el Servidor 2
  • Number of builds to include: 10
  • Plot y-axes label: Tiempo y tamaño
  • Plot style: Line
  • Load data from CSV file: 
    • Marcamos Include all columns
    • URL: file2.csv

 

Los campos no tienen ningún misterio, por lo que no voy a entrar a explicarlos.

Gráficas en JenkinsConfiguración de la gráfica 1

 

 

Una vez ejecutemos el Job, veremos a la izquierda un nuevo botón que pone Plot. Si pinchamos en él, veremos las gráficas generadas a la derecha

Gráficas en JenkinsGráficas en Jenkins

 

 

 

4.- CONFIGURACIÓN DE JOB PIPELINE CON GRÁFICAS

Si lo que queréis es hacer lo mismo, pero en una Pipeline, a continuación os dejo el código de la Pipeline. tened en cuenta que debéis crear otro Job nuevo, pero de tipo Pipeline en lugar de Estilo Libre:

pipeline {
agent { label 'debian' }

stages {

stage ('Crear Ficheros CSV') {
steps {
sh '''
#/bin/bash
RANDOM11=`shuf -i 8000-9000 -n1`
RANDOM12=`shuf -i 200-500 -n1`
echo "Size, Time" > file1.csv
echo "$RANDOM11,$RANDOM12" >> file1.csv

RANDOM21=`shuf -i 1000-5000 -n1`
RANDOM22=`shuf -i 200-1000 -n1`
echo "Size, Time" > file2.csv
echo "$RANDOM21,$RANDOM22" >> file2.csv '''
}
}

stage ('Recoger datos 1') {
steps {
plot csvFileName: 'file1.csv',
csvSeries: [[
displayTableFlag: false,
exclusionValues: '',
file: '',
inclusionFlag: 'OFF',
url: 'file1.csv']],
description: 'Resultados en el Servidor 1',
group: 'Mi_Primer_Plot',
numBuilds: '10',
style: 'line',
title: 'Ejecución Servidor 1',
yaxis: 'Tiempo y Tamaño'
}
}

stage ('Recoger datos 2') {
steps {
plot csvFileName: 'file2.csv',
csvSeries: [[
displayTableFlag: false,
exclusionValues: '',
file: '',
inclusionFlag: 'OFF',
url: 'file2.csv']],
description: 'Resultados en el Servidor 2',
group: 'Mi_Primer_Plot',
numBuilds: '10',
style: 'line',
title: 'Ejecución Servidor 2',
yaxis: 'Tiempo y Tamaño'
}
}
}

post {
always {
cleanWs()
}
}

}

 

 

5.- DIFERENTES FORMATOS DE GRÁFICAS

Disponemos de diversos formatos para las gráficas. Podemos elegir todos los siguientes formatos:

  • Area
  • Bar
  • Bar 3D
  • Line
  • Line Simple
  • Line 3D
  • Stacked Area
  • Stacked Bar
  • Stacked Bar 3D
  • Waterfall

 

Gráficas en JenkinsGráfica de Area

 

 

Gráficas en JenkinsGráfica de Bar

 

 

Gráficas en JenkinsGráfica de Bar 3D

 

 

Gráficas en JenkinsGráfica de Line

 

 

Gráficas en JenkinsGráfica de Line Simple

 

 

Gráficas en JenkinsGráfica de Line 3D

 

 

Gráficas en JenkinsGráfica de Stacked Area

 

 

Gráficas en JenkinsGráfica Stacked Bar

 

 

Gráficas en JenkinsGráfica Stacked Bar 3D

 

 

Gráficas en JenkinsGráfica de Waterfall

 

 

ENJOY!


Acerca de Mi

RPF

Soy Ingeniero Téc. Industrial Mecánico, Administrador de Sistemas Informáticos, Desarrollador de Aplicaciones Informaticas Web, Técnico Superior en PRL, Experto en Energías Renovables... y trabajo actualmente como Senior DevOPS en HP SCDS.

Contactar conmigo

Dirección: León, España

E-Mail: Contactar

Web: https://www.raulprietofernandez.net

Skype: raul.lnx

APÚNTATE GRATIS

VIP RPF
Entra en la Comunidad VIP y consigue acceso a las descargas en PDF, Trucos y Videotutoriales ocultos y mucho más... ¡Muy Pronto!
Cookies

Usamos cookies en nuestro sitio web. Algunas de ellas son esenciales para el funcionamiento del sitio, mientras que otras nos ayudan a mejorar el sitio web y también la experiencia del usuario (cookies de rastreo). Puedes decidir por ti mismo si quieres permitir el uso de las cookies. Ten en cuenta que si las rechazas, puede que no puedas usar todas las funcionalidades del sitio web.