Continuando con nuestro fantástico curso de Jenkins (echa un ojo a nuestros artículos anteriores de «Primeros Pasos con Jenkins» y «Crear tu Primer Proyecto con Jenkins»), hoy tengo para ti una selección con los mejores plugins de Jenkins para este nuevo año que recién comienza, el 2022.
Mejores Plugins de Jenkins 2022
¡Y lo prometido es deuda! A continuación te ofrecemos los 10 plugins de Jenkins que en Webipedia HD consideramos los que más enriquecen la extensa funcionalidad ya ofrecida de por sí por esta sensacional herramienta de integración continua. En cualquier caso, para gustos los colores, y si echas en falta alguno, indícanoslo en los comentarios del post.
1. Amazon EC2 Plugin
Amazon Elastic Compute Cloud (Amazon EC2) es parte de la plataforma de cómputo en la nube de la empresa Amazon.com denominada «Amazon Web Services» (AWS). EC2 permite a los usuarios alquilar ordenadores virtuales donde ejecutar sus propias aplicaciones, proporcionando capacidad informática con tamaño modificable en la nube, alquilando por horas la capacidad utilizada.
El plugin disponible para Jenkins permite configurar fácilmente la conexión entre EC2 y Jenkins, reduciendo en gran medida el trabajo que supondría la copia de artefactos (aplicaciones compiladas) a una máquina remota EC2, y gestionando de manera eficiente la carga en el entorno clusterizado.
2. Docker Build Step Plugin
Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de virtualización de aplicaciones en múltiples sistemas operativos.
Pues bien, este plugin (el cual, para que funcione, debemos asegurarnos de que el servicio de docker esté corriendo en los esclavos donde está corriendo la aplicación) es capaz de realizar las siguientes tareas:
- Crear nuevos contenedores de imágenes docker.
- Eliminar los contenedores.
- Hacer «pull» y «push» de la imagen desde y hacia los repositorios.
- Arrancar y detener los contenedores.
- Confirmar («commit») cambios específicos hacia los contenedores.
3. Kubernetes Plugin
Kubernetes es una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios, que facilita la automatización y la configuración declarativa. Ofrece un entorno de administración centrado en contenedores, donde el propio sistema orquesta la infraestructura de cómputo, redes y almacenamiento para que las cargas de trabajo de los usuarios no tengan que hacerlo. Esto ofrece la simplicidad de las Plataformas como Servicio (PaaS) junto con la flexibilidad de la Infraestructura como Servicio (IaaS) y, además, permite la portabilidad entre proveedores de infraestructura.
El plugin disponible para Jenkins ejecuta los agentes que son dinámicos en el cluster de Kubernetes. Crea pods para cada agente definido en la imagen Docker, para ejecutarlos y finalizarlos tras cada compilación del código, lo que permite a los desarrolladores automatizar el proceso escalado de ejecutar esclavos de Jenkins en el entorno de Kubernetes.
4. HTML Publisher Plugin
Este plugin es muy útil para publicar informes HTML relacionados con el proceso de construcción de tu aplicación.
Está diseñado para trabajar tanto con tareas de estilo libre (añadiéndolo como acciones post-construcción) como en un pipeline de Jenkins (solo haría falta añadir el paso «publishHTML» en tu pipeline).
5. Maven Integration Plugin
Maven es una herramienta de software para la gestión y construcción de proyectos Java. Es similar en funcionalidad a Apache Ant (y en menor medida a PEAR de PHP y CPAN de Perl), pero tiene un modelo de configuración de construcción más simple, basado en un formato XML. Utiliza un Project Object Model (POM) para describir el proyecto de software a construir, sus dependencias de otros módulos y componentes externos, y el orden de construcción de los elementos. Además, viene con objetivos predefinidos para realizar ciertas tareas claramente definidas, como la compilación del código y su empaquetado.
Pues bien, podemos usar Maven en conjunción con Jenkins para construir proyectos (proyectos Maven) y generar los correspondientes artefactos JAR o WAR. Con este plugin, Jenkins lee las dependencias del proyecto desde el archivo POM, y construye los artefactos. Es también utilizado para lanzar tareas automáticas basadas en snapshots, y se ha convertido en uno de los plugins de Jenkins más populares.
6. AWS CodeDeploy Plugin
Amazon Web Services (AWS) es una colección de servicios de computación en la nube pública que en conjunto forman una plataforma de computación en la nube, ofrecidas a través de Internet por Amazon.com.
Este plugin te ayuda en los pasos post-construcción de tu proyecto Jenkins. Más concretamente, es un servicio que coordina el despliegue de aplicaciones en múltiples instancias AWS. Con la ayuda de este plugin, puedes utilizar CodeDeploy como un pipeline de entrega continua desplegando el archivo zip en la flota de instancias Amazon.
7. Build Pipeline Plugin
Un pipeline es un conjunto de instrucciones que forman parte del proceso que sigue una aplicación desde el repositorio de control de versiones hasta que llega a los usuarios. Utilizando pipeline y Jenkins, podemos definir el ciclo de vida completo de una aplicación (descargar código, compilar, test, desplegar, etc.) mediante código. De esta forma, resulta mucho más sencillo replicar los diferentes pasos con distintas aplicaciones y gestionar mejor los cambios en cada paso.
Pues bien, este plugin te permite visualizar de una forma clara y sencilla el flujo de tareas de tu proceso de construcción, desde el principio hasta el final. Además, te permite incorporar procesos externos añadiendo triggers manuales a tus tareas (como, por ejemplo, una revisión antes del despliegue).
8. ThinBackup Plugin
Siempre hay que tener un plan b para cuando las cosas van mal, y este plugin ofrece la posibilidad de configurar copias de seguridad (backups) automáticas de una manera fácil y sencilla.
Además, se puede retocar la configuración de un backup con la ayuda de un gestor de backups, que puede ser lanzado a través de una tarea manual o automática. En definitiva, las copias de seguridad son posiblemente la mejor solución ante la pérdida de datos.
9. Jenkins Disk-usage Plugin
Analizar el uso de disco es muy útil para asegurar una ejecución más eficiente de los nuevos builds y evitar cualquier sorpresa debida a un consumo excesivo del espacio de almacenamiento.
Pues bien, este plugin se encarga de calcular el consumo de disco, sin perder de vista el impacto en el rendimiento que ello provoca en el servidor maestro de Jenkins. Una vez que es instalado, el consumo de disco se calcula cada 60 minutos.
10. JIRA Plugin
JIRA es una herramienta en línea para la administración de tareas de un proyecto, el seguimiento de errores e incidencias y para la gestión operativa de proyectos.
Integrado con Jenkins, el plugin de JIRA ofrece una manera organizada de gestionar tareas e incidencias entre los miembros de un proyecto. Para configurarlo, se deben añadir los sitios de JIRA en Jenkins, y el plugin automáticamente enlazará con JIRA todas las issues cuyos nombre coincidan.
Otros Plugins
Por último, además de los anteriores, otros plugins de Jenkins que también consideramos interesantes y que queríamos mencionar son: Easy Upgrades, Scriptability, View Filters, Throttle Builds, Join, Green Balls, etc.