En este módulo, aprenderemos cómo gestionar nodos en Jenkins. Los nodos son máquinas que Jenkins utiliza para ejecutar trabajos. Pueden ser el nodo maestro (donde Jenkins está instalado) o nodos esclavos (máquinas adicionales que Jenkins puede utilizar para distribuir la carga de trabajo).

Conceptos Clave

  1. Nodo Maestro: Es el servidor principal donde Jenkins está instalado. Por defecto, todos los trabajos se ejecutan en el nodo maestro.
  2. Nodos Esclavos: Son máquinas adicionales que Jenkins puede utilizar para ejecutar trabajos. Ayudan a distribuir la carga de trabajo y pueden estar configurados para ejecutar trabajos específicos.

Configuración de Nodos en Jenkins

Paso 1: Acceder a la Configuración de Nodos

  1. Desde el tablero de Jenkins, haz clic en "Manage Jenkins" (Gestionar Jenkins).
  2. Selecciona "Manage Nodes and Clouds" (Gestionar Nodos y Nubes).

Paso 2: Agregar un Nuevo Nodo

  1. En la página de "Manage Nodes and Clouds", haz clic en "New Node" (Nuevo Nodo).
  2. Introduce un nombre para el nodo y selecciona "Permanent Agent" (Agente Permanente). Haz clic en "OK".

Paso 3: Configurar el Nodo

  1. Descripción: Proporciona una descripción para el nodo.
  2. Número de Ejecuciones: Define el número máximo de ejecuciones que este nodo puede manejar simultáneamente.
  3. Directorio Remoto: Especifica el directorio en el nodo esclavo donde Jenkins almacenará los archivos de trabajo.
  4. Etiquetas: Añade etiquetas para identificar el nodo. Esto es útil para asignar trabajos específicos a nodos específicos.
  5. Método de Lanzamiento: Selecciona cómo Jenkins se conectará al nodo esclavo. Las opciones comunes incluyen SSH y JNLP.
  6. Propiedades del Nodo: Configura propiedades adicionales como límites de tiempo de inactividad, variables de entorno, etc.

Ejemplo de Configuración de Nodo

Nombre del Nodo: nodo-esclavo-1
Descripción: Nodo esclavo para trabajos de compilación
Número de Ejecuciones: 2
Directorio Remoto: /home/jenkins
Etiquetas: compilación, linux
Método de Lanzamiento: Launch agent via SSH
  - Host: 192.168.1.100
  - Credenciales: jenkins-ssh-key

Paso 4: Guardar y Conectar el Nodo

  1. Haz clic en "Save" (Guardar) para guardar la configuración del nodo.
  2. Jenkins intentará conectarse al nodo esclavo utilizando el método de lanzamiento especificado. Si la conexión es exitosa, el nodo aparecerá como "Online" (En línea).

Ejercicio Práctico

Ejercicio 1: Configurar un Nodo Esclavo

  1. Accede a "Manage Jenkins" y selecciona "Manage Nodes and Clouds".
  2. Crea un nuevo nodo llamado "nodo-esclavo-2" con las siguientes configuraciones:
    • Descripción: Nodo esclavo para pruebas
    • Número de Ejecuciones: 1
    • Directorio Remoto: /home/jenkins
    • Etiquetas: pruebas, windows
    • Método de Lanzamiento: Launch agent via SSH
      • Host: 192.168.1.101
      • Credenciales: jenkins-ssh-key

Solución

  1. Accede a "Manage Jenkins" y selecciona "Manage Nodes and Clouds".
  2. Haz clic en "New Node" y nombra el nodo como "nodo-esclavo-2".
  3. Selecciona "Permanent Agent" y haz clic en "OK".
  4. Configura el nodo con la descripción, número de ejecuciones, directorio remoto y etiquetas proporcionadas.
  5. Selecciona "Launch agent via SSH" y configura el host y las credenciales.
  6. Haz clic en "Save" y verifica que el nodo se conecte correctamente.

Errores Comunes y Soluciones

  1. Error de Conexión SSH: Asegúrate de que el nodo esclavo esté accesible desde el nodo maestro y que las credenciales SSH sean correctas.
  2. Permisos Insuficientes: Verifica que el usuario de Jenkins tenga los permisos necesarios en el nodo esclavo para acceder al directorio remoto y ejecutar comandos.

Resumen

En esta sección, hemos aprendido cómo gestionar nodos en Jenkins, incluyendo la configuración de nodos esclavos para distribuir la carga de trabajo. Hemos cubierto los pasos para agregar y configurar un nodo, así como algunos errores comunes y sus soluciones. Con esta base, estarás preparado para optimizar la ejecución de trabajos en Jenkins utilizando múltiples nodos.

Jenkins: De Principiante a Avanzado

Módulo 1: Introducción a Jenkins

Módulo 2: Conceptos Básicos de Jenkins

Módulo 3: Pipelines de Jenkins

Módulo 4: Pipelines Avanzadas de Jenkins

Módulo 5: Administración de Jenkins

Módulo 6: Integrando Jenkins

Módulo 7: Jenkins para Integración Continua y Entrega Continua (CI/CD)

Módulo 8: Temas Avanzados de Jenkins

Módulo 9: Mejores Prácticas y Solución de Problemas en Jenkins

© Copyright 2024. Todos los derechos reservados