Módulo 4: Características Avanzadas

Información sobre Accesibilidad

Además de la lectura del Módulo, puedes escuchar el curso completo desde aquí:


Introducción 

Este módulo tiene como objetivo profundizar en las características avanzadas de Jenkins, abarcando temas clave para optimizar la implementación continua y el mantenimiento de servidores. A través de la exploración de conceptos como compilaciones distribuidas, implementación automatizada, métricas y tendencias, gestión de complementos y seguridad, los participantes obtendrán las herramientas necesarias para gestionar de manera eficiente entornos de desarrollo complejos y mantener altos estándares de calidad en el ciclo de vida del software.

Uno de los enfoques principales será la configuración de compilaciones distribuidas, una solución efectiva para proyectos de gran envergadura que requieren múltiples entornos de construcción. También se abordará la implementación automatizada, facilitando la transferencia de artefactos de compilación a servidores de aplicaciones de manera eficiente.

Además, se discutirá cómo utilizar métricas y tendencias para analizar el rendimiento de las compilaciones, así como el uso de herramientas de mantenimiento y seguridad para garantizar la estabilidad del servidor Jenkins. Se presentará la gestión avanzada de complementos, incluyendo la instalación, actualización y eliminación de plugins, y se introducirá el complemento de copia de seguridad, una herramienta crítica para proteger las configuraciones del servidor.

El módulo también invita a los participantes a compartir sus experiencias con la implementación de complementos adicionales y la creación de procesos de implementación continua en Jenkins, fomentando la colaboración y el intercambio de conocimientos dentro de la comunidad.

Objetivos del módulo



  1. Compilaciones distribuidas
  2. Implementación automatizada
  3. Métricas y tendencias
  4. Mantenimiento del Servidor
  5. Implementación continua
  6. Gestión de complementos
  7. Seguridad
  8. Complemento de Copia de Seguridad

Compilaciones distribuidas

A veces se requieren muchas máquinas de construcción si hay casos en los que hay proyectos más grandes y pesados que se construyen de forma regular. Y ejecutar todas estas compilaciones en una máquina central puede no ser la mejor opción. En tal escenario, se pueden configurar otras máquinas Jenkins para que sean máquinas esclavas para aliviar la carga del servidor maestro Jenkins.

A veces, es posible que también necesites varios entornos diferentes para probar tus compilaciones. En este caso, utilizar un esclavo para representar cada uno de los entornos requeridos es casi imprescindible.

Un esclavo es una computadora que está configurada para descargar proyectos de compilación del maestro y una vez configurada, esta distribución de tareas es bastante automática. El comportamiento exacto de la delegación depende de la configuración de cada proyecto; algunos proyectos pueden optar por "pegarse" a una máquina en particular para una compilación, mientras que otros pueden optar por moverse libremente entre esclavos.

Dado que cada esclavo ejecuta un programa separado llamado "agente esclavo", no es necesario instalar Jenkins completo (paquete o binarios compilados) en un esclavo. Hay varias formas de iniciar agentes esclavos, pero al final, el agente esclavo y el maestro Jenkins necesitan establecer un enlace de comunicación bidireccional (por ejemplo, un socket TCP/IP) para poder funcionar.

Para configurar esclavos/nodos en Jenkins, siga los pasos que se indican a continuación.

Paso 1− Vaya a la sección Administrar Jenkins y desplácese hacia abajo hasta la sección Administrar nodos. 

Paso 2− Haga clic en Nuevo nodo

Paso 3− Asigne un nombre al nodo, elija la opción Esclavo tonto y haga clic en Aceptar.

Etapa 4− Introduzca los detalles de la máquina esclava del nodo. En el siguiente ejemplo, estamos considerando que la máquina esclava es una máquina con Windows, por lo que se eligió como método de inicio la opción "Permitir que Jenkins controle este esclavo de Windows como un servicio de Windows". También necesitamos agregar los detalles necesarios del nodo esclavo, como el nombre del nodo y las credenciales de inicio de sesión para la máquina del nodo. Haga clic en el botón Guardar. Las etiquetas cuyo nombre se ingresa como "Nuevo_esclavo" son las que se pueden usar para configurar trabajos para usar esta máquina esclava.

Una vez que se completen los pasos anteriores, la máquina del nuevo nodo estará inicialmente fuera de línea, pero se conectará si todas las configuraciones en la pantalla anterior se ingresaron correctamente. En cualquier momento se puede hacer que la máquina esclava del nodo esté fuera de línea si es necesario.


Implementación automatizada

Hay muchos complementos disponibles que se pueden usar para transferir los archivos de compilación después de una compilación exitosa a la aplicación/servidor web respectivo. Un ejemplo es el "Complemento Implementar en contenedor". Para utilizar esto, siga los pasos que se indican a continuación.

Paso 1− Vaya a Administrar Jenkins → Administrar complementos. Vaya a la sección Disponible, busque el complemento "Implementar complemento en contenedor" e instálelo. Reinicie el servidor Jenkins.

Este complemento toma un archivo war/ear y lo implementa en un servidor de aplicaciones remoto en ejecución al final de la compilación.

  1. Tomcat 4.x/5.x/6.x/7.x 
  2. JBoss 3.x/4.x

Paso 2− Vaya a su proyecto de compilación y haga clic en la opción Configurar. Elija la opción "Implementar guerra/oído en un contenedor"

Paso 3− En la sección Implementar war/ear en un contenedor, ingrese los detalles requeridos del servidor en el que se deben implementar los archivos y haga clic en el botón Guardar. Estos pasos ahora garantizarán que los archivos necesarios se implementen en el contenedor necesario después de una compilación exitosa. 


Métricas y tendencias

Hay varios complementos disponibles en Jenkins para mostrar métricas de compilaciones que se llevan a cabo durante un período de tiempo. Estas métricas son útiles para comprender sus compilaciones y con qué frecuencia fallan o aprueban con el tiempo. Como ejemplo, veamos el 'Complemento de métricas de historial de compilación'.

Este complemento calcula las siguientes métricas para todas las compilaciones una vez instaladas

  1. Tiempo medio hasta el fallo (MTTF)
  2. Tiempo medio de recuperación (MTTR)
  3. Desviación estándar de los tiempos de construcción

Paso 1− Vaya al panel de Jenkins y haga clic en Administrar Jenkins.

Paso 2− Vaya a la opción Administrar complementos.

 

Paso 3− Vaya a la pestaña Disponible y busque el complemento 'Complemento de métricas de historial de compilación' y elija 'instalar sin reiniciar'.

Etapa 4− Aparece la siguiente pantalla para confirmar la instalación exitosa del complemento. Reinicie la instancia de Jenkins.

Cuando vaya a su página de Trabajo, verá una tabla con las métricas calculadas. Las métricas se muestran para los últimos 7 días, los últimos 30 días y todo el tiempo.

Para ver las tendencias generales en Jenkins, hay complementos disponibles para recopilar información desde las compilaciones y Jenkins y mostrarla en formato gráfico. Un ejemplo de este tipo de complemento es el 'complemento Hudson global-build-stats'. Así que veamos los pasos para esto.

Paso 1− Vaya al panel de Jenkins y haga clic en Administrar Jenkins. 

Paso 2− Vaya a la opción Administrar complementos

Paso 3− Vaya a la pestaña Disponible y busque el complemento 'Hudson global-build-stats plugin' y elija 'instalar sin reiniciar'.

Etapa 4− Aparece la siguiente pantalla para confirmar la instalación exitosa del complemento. Reinicie la instancia de Jenkins.

Para ver las estadísticas globales, siga los pasos del 5 al 8.

Paso 5− Vaya al panel de Jenkins y haga clic en Administrar Jenkins. En la pantalla Administrar Jenkins, desplácese hacia abajo y verá una opción llamada "Estadísticas globales de compilación". Haga clic en este enlace.

Paso 6− Haga clic en el botón 'Inicializar estadísticas'. Lo que esto hace es reunir todos los registros existentes para compilaciones que ya se han llevado a cabo y se pueden crear gráficos basados en estos resultados.

Paso 7− Una vez que se han inicializado los datos, es hora de crear un nuevo gráfico. Haga clic en el enlace 'Crear nuevo gráfico'.

Paso 8− Aparecerá una ventana emergente para ingresar información relevante para los detalles del nuevo gráfico. Ingrese la siguiente información obligatoria

  1. Título: cualquier información del título; en este ejemplo, se proporciona como Ancho del gráfico 'Demostración': 800
  2. Altura del gráfico: 600 Escala de tiempo del gráfico: diario
  3. Duración del gráfico: 30 días

El resto de la información puede permanecer como está. Una vez ingresada la información, haga clic en Crear nuevo gráfico.

Ahora verá el gráfico que muestra las tendencias de las compilaciones a lo largo del tiempo.

Si hace clic en cualquier sección del gráfico, obtendrá un desglose de los detalles del trabajo y sus construcciones.


Mantenimiento del servidor

Las siguientes son algunas de las actividades básicas que llevará a cabo, algunas de las cuales son mejores prácticas para el mantenimiento del servidor Jenkins.


Opciones de URL

Los siguientes comandos, cuando se agregan a la URL de la instancia de Jenkins, llevarán a cabo las acciones relevantes en la instancia de Jenkins.

http://localhost:8080/jenkins/exit− cerrar jenkins http://localhost:8080/jenkins/restart − reiniciar jenkins http://localhost:8080/jenkins/reload − para recargar la configuración


Copia de seguridad de Jenkins - Inicio

El directorio de inicio de Jenkins no es más que la ubicación en su disco donde Jenkins almacena toda la información para los trabajos, compilaciones, etc. La ubicación de su directorio de inicio se puede ver cuando hace clic en Administrar Jenkins → Configurar sistema.

Configure Jenkins en la partición que tenga más espacio libre en disco: dado que Jenkins tomaría el código fuente para los distintos trabajos definidos y realizaría compilaciones continuas, asegúrese siempre de que Jenkins esté configurado en una unidad que tenga suficiente espacio en el disco duro. Si su disco duro se queda sin espacio, todas las compilaciones de la instancia de Jenkins comenzarán a fallar.

Otra mejor práctica es escribir trabajos cron o tareas de mantenimiento que puedan realizar operaciones de limpieza para evitar que el disco donde está configurado Jenkins se llene.


Implementación continua

Jenkins brinda un buen soporte para brindar implementación y entrega continuas. Si observa el flujo de cualquier desarrollo de software hasta su implementación, será como se muestra a continuación.

La parte principal de la implementación continua es garantizar que todo el proceso que se muestra arriba esté automatizado. Jenkins logra todo esto a través de varios complementos, uno de ellos es el "Complemento Implementar en contenedor" que se vio en las lecciones anteriores. 

Hay complementos disponibles que pueden brindarle una representación gráfica del proceso de implementación continua. Pero primero creemos otro proyecto en Jenkins, para que podamos ver mejor cómo funciona.

Creemos un proyecto simple que emule la etapa de control de calidad y realice una prueba de la aplicación Helloworld.

Paso 1− Vaya al panel de Jenkins y haga clic en Nuevo elemento. Elija un 'proyecto de estilo libre' e ingrese el nombre del proyecto como 'QA'. Haga clic en el botón Aceptar para crear el proyecto.

Paso 2− En este ejemplo, lo mantendremos simple y solo usaremos este proyecto para ejecutar un programa de prueba para la aplicación Helloworld.

Entonces el control de calidad de nuestro proyecto ya está configurado. Puedes hacer una compilación para ver si se compila correctamente. 

Paso 3− Ahora ve a tu proyecto Helloworld y haz clic en la opción Configurar.

Etapa 4− En la configuración del proyecto, elija 'Agregar acción posterior a la compilación' y elija 'Construir otros proyectos'

Paso 5− En la sección 'Proyecto a construir', ingrese QA como nombre del proyecto a construir. Puede dejar la opción predeterminada "Activar solo si la compilación es estable". Haga clic en el botón Guardar. 

Paso 7− Instalemos ahora el complemento de canalización de entrega. Vaya a Administrar Jenkins → Administrar complementos. En la pestaña disponible, busque 'Complemento de canalización de entrega'. Haga clic en Instalar sin reiniciar. Una vez hecho esto, reinicie la instancia de Jenkins.

Paso 8− Para ver el proceso de entrega en acción, en el Panel de Jenkins, haga clic en el símbolo + en la pestaña junto a la pestaña "Todos".

Paso 9− Ingrese cualquier nombre para el nombre de la Vista y elija la opción 'Vista del canal de entrega'.

Paso 10− En la siguiente pantalla, puede dejar las opciones predeterminadas. Se pueden cambiar las siguientes configuraciones:

  1. Asegúrese de que la opción "Mostrar resultados del análisis estático" esté marcada. Asegúrese de que la opción "Mostrar tiempo total de construcción" esté marcada.
  2. Para el trabajo inicial: ingrese el proyecto Helloworld como el primer trabajo que se debe generar. Ingrese cualquier nombre para la tubería
  3. Haga clic en el botón Aceptar.

Ahora verá una excelente vista de todo el proceso de entrega y podrá ver el estado de cada proyecto en todo el proceso.

Otro complemento famoso es el complemento de canalización de compilación. Echemos un vistazo a esto.

Paso 1− Vaya a Administrar Jenkins → Administrar complementos. En la pestaña disponible, busque 'Build Pipeline Plugin'. Haga clic en Instalar sin reiniciar. Una vez hecho esto, reinicie la instancia de Jenkins.

Paso 2− Para ver el proceso de compilación en acción, en el Panel de Jenkins, haga clic en el símbolo + en la pestaña junto a la pestaña "Todos". 

Paso 3− Ingrese cualquier nombre para el nombre de la Vista y elija la opción 'Crear vista de canalización'.

Etapa 4− Acepte la configuración predeterminada, solo que en el trabajo inicial seleccionado, asegúrese de ingresar el nombre del proyecto Helloworld. Haga clic en el botón Aceptar. 

Ahora verá una excelente vista de todo el proceso de entrega y podrá ver el estado de cada proyecto en todo el proceso.


Gestión de complementos

Para obtener la lista de todos los complementos disponibles en Jenkins, puede visitar el enlace: https://wiki.jenkins-ci.org/display/JENKINS/Plugins

Ya hemos visto muchos casos de instalación de complementos, veamos algunas otras tareas de mantenimiento con respecto a los complementos.


Desinstalar complementos

Para desinstalar un complemento, vaya a Administrar Jenkins → Administrar complementos. Haga clic en la pestaña Instalado. Algunos de los complementos tendrán la opción Desinstalar. Puede hacer clic en estos botones para desinstalar los complementos. Asegúrese de reiniciar su instancia de Jenkins después de la desinstalación.


Instalar otra versión de un complemento

A veces puede ser necesario instalar una versión anterior de un complemento; en tal caso, puede descargar el complemento desde la página de complementos correspondiente en el sitio web de Jenkins. Luego puede usar la opción Cargar para cargar el complemento manualmente.


Seguridad

En Jenkins tienes la posibilidad de configurar usuarios y sus permisos relevantes en la instancia de Jenkins. De forma predeterminada, no querrás que todos puedan definir trabajos u otras tareas administrativas en Jenkins. Entonces Jenkins tiene la capacidad de tener implementada una configuración de seguridad.

Para configurar la seguridad en Jenkins, siga los pasos que se indican a continuación.

Paso 1− Haga clic en Administrar Jenkins y elija la opción 'Configurar seguridad global'.

Paso 2− Haga clic en la opción Habilitar seguridad. Como ejemplo, supongamos que queremos que Jenkins mantenga su propia base de datos de usuarios, por lo que en el ámbito de seguridad, elija la opción "Base de datos de usuarios propia de Jenkins".

De forma predeterminada, querrá que un administrador central defina los usuarios en el sistema; por lo tanto, asegúrese de que la opción "Permitir que los usuarios se registren" no esté seleccionada. Puedes dejar el resto como está por ahora y hacer clic en el botón Guardar.

Paso 3− Se le pedirá que agregue su primer usuario. Como ejemplo, estamos configurando usuarios administradores para el sistema.

Etapa 4− Ahora es el momento de configurar sus usuarios en el sistema. Ahora, cuando vaya a Administrar Jenkins y se desplace hacia abajo, verá la opción "Administrar usuarios". Haga clic en esta opción.

Paso 5− Así como definió su usuario administrador, comience a crear otros usuarios para el sistema. Como ejemplo, simplemente estamos creando otro usuario llamado 'usuario'.

Paso 6− Ahora es el momento de configurar sus autorizaciones, básicamente quién tiene acceso a qué. Vaya a Administrar Jenkins → Configurar seguridad global.

Ahora en la sección Autorización, haga clic en 'Seguridad basada en matriz'

Paso 7− Si no ve al usuario en la lista del grupo de usuarios, ingrese el nombre de usuario y agréguelo a la lista. Luego otorgue los permisos apropiados al usuario.

Haga clic en el botón Guardar una vez que haya definido las autorizaciones relevantes. Su seguridad de Jenkins ahora está configurada.

Nota− Para la autenticación de Windows AD, es necesario agregar el complemento de Active Directory a Jenkins.


Complemento de copia de seguridad

Jenkins tiene un complemento de copia de seguridad que se puede utilizar para realizar copias de seguridad de los ajustes de configuración críticos relacionados con Jenkins. Siga los pasos que se indican a continuación para tener una copia de seguridad en su lugar.

Paso 1− Haga clic en Administrar Jenkins y elija la opción 'Administrar complementos'.

Paso 2− En la pestaña disponible, busque 'Complemento de copia de seguridad'. Haga clic en Instalar sin reiniciar. Una vez hecho esto, reinicie la instancia de Jenkins. 

Paso 3− Ahora, cuando vaya a Administrar Jenkins y se desplace hacia abajo, verá 'Administrador de copias de seguridad' como una opción. Haga clic en esta opción.

Etapa 4− Haga clic en Configuración.

Paso 5− Aquí, el campo principal a definir es el directorio de su copia de seguridad. Asegúrese de que esté en otra unidad que sea diferente de la unidad donde está configurada su instancia de Jenkins.

Haga clic en el botón Guardar.

Paso 6− Haga clic en 'Configuración de Backup Hudson' en la pantalla del administrador de respaldo para iniciar el respaldo.

La siguiente pantalla mostrará el estado de la copia de seguridad.

Para recuperarse de una copia de seguridad, vaya a la pantalla Administrador de copias de seguridad, haga clic en Restaurar configuración de Hudson.

Se mostrará la lista de copias de seguridad, haga clic en la correspondiente para hacer clic en Iniciar restauración para comenzar la restauración de la copia de seguridad. 


Actividades del Módulo



  1. Lectura Asignada: Leer los 8 puntos anteriores donde se detallan diferentes características avanzadas, crear implementación continua y diferentes complementos.
  2. Discusión en la comunidad: Crea un debate en el canal contando tu experiencia con con el montaje de algún complemento adicional en tu Jenkins y si te ha sido sencillo.
Siguiente Publicación