Jenkins Ubuntu · 6 min read · Dec 19, 2025

Cómo configurar Jenkins Master y Slave en Ubuntu

Jenkins es un servidor de automatización bifurcado del proyecto Hudson. Tiene soporte para muchos sistemas de software SCM (Gestión de Control de Fuentes) incluyendo Git, SVN y Mercurial. Jenkins proporciona cientos de complementos para automatizar tu proyecto. Jenkins ofrece soporte para una arquitectura ‘master/slave’, permitiendo alojar un gran número de compilaciones de proyectos.

¿Cómo funciona la arquitectura ‘master/slave’ de Jenkins?

La arquitectura master/slave de Jenkins se utiliza para entornos de compilación distribuidos, donde la carga de trabajo de construir proyectos se distribuye a múltiples nodos agentes, y podemos usar diferentes entornos para cada compilación.

En la arquitectura ‘master/slave’ de Jenkins, un master se representa a sí mismo como una instalación básica de Jenkins y maneja todas las tareas para el sistema de compilación. El nodo master de Jenkins se utilizará para programar trabajos, monitorear nodos esclavos, despachar compilaciones a nodos esclavos, registrar y representar el resultado de la compilación, y ejecutar trabajos de compilación directamente.

Los nodos esclavos de Jenkins se configuran para descargar proyectos de compilación del master, y se requiere una conexión establecida entre el master y los esclavos. Los nodos esclavos de Jenkins pueden ejecutarse en varios sistemas operativos como Windows y Linux, y no es necesario instalar paquetes completos de Jenkins en ellos.

Este tutorial nos enseñará cómo configurar la arquitectura master-slave de Jenkins utilizando la última versión de Ubuntu. Aprenderemos a configurar el servidor master de Jenkins y agregar otros nodos de Ubuntu como esclavos de Jenkins.

Requisitos previos

  • Servidor Ubuntu (Ubuntu 22.04 - Ubuntu 16.04) - master - 10.0.15.10
  • slave01 - 10.0.15.21
  • slave02 - 10.0.15.22
  • Privilegios de root

¿Qué haremos?

  1. Instalar Jenkins Master
  2. Configurar las credenciales del Jenkins Master
  3. Configurar nodos agentes esclavos
  4. Agregar nuevos nodos esclavos
  5. Preparar nodos agentes esclavos para ejecutar la compilación
  6. Pruebas

Paso 1 - Instalar Jenkins Master

En este tutorial, no cubriremos la instalación básica de Jenkins. Varios artículos en HowtoForge cubren la instalación de Jenkins.

  • Instalar Jenkins en Ubuntu 16.04
  • Instalar Jenkins en Ubuntu 18.04
  • Instalar Jenkins en Ubuntu 20.04
  • Instalar Jenkins en Ubuntu 22.04
  • Instalar Jenkins en CentOS 7

A continuación, nuestro servidor master de Ubuntu con Jenkins instalado en él.

Instalar Jenkins Master

Paso 2 - Configurar las credenciales del Jenkins Master

Cuando tengas el servidor master de Jenkins instalado, necesitamos configurar el servidor master en sí. Por defecto, hay diferentes formas de iniciar nodos agentes de Jenkins, podemos lanzar los nodos agentes a través de SSH, una cuenta administrativa de Windows, y a través de Java Web Start (JNLP), elige la mejor manera dependiendo de la configuración de tu entorno y sistema operativo.

Para esta guía, lanzaremos los nodos agentes a través de ssh, y necesitamos configurar las credenciales de Jenkins en nuestro servidor master.

Generar clave SSH

Usaremos la autenticación de clave ssh para configurar nuestros nodos agentes, así que necesitamos generar la clave ssh para el usuario Jenkins y luego cargar manualmente la clave en cada nodo de servidor usando ‘ssh-copy-id’.

En el servidor master de Jenkins, inicia sesión como el usuario Jenkins y genera la clave ssh.

su - jenkins  
ssh-keygen

Y obtendrás la clave privada ‘id_rsa’ y la clave pública ‘id_rsa.pub’ en el directorio ‘.ssh’.

Generar clave SSH

Configurar credenciales en Jenkins

Abre tu panel de Jenkins y haz clic en el menú ‘Credenciales’ a la izquierda.

Configurar credenciales en Jenkins

Y haz clic en el enlace del dominio ‘global’.

Ahora haz clic en ‘Agregar credenciales’.

Agregar credenciales

Ahora elige el método de autenticación.

  • Tipo: Nombre de usuario SSH con clave privada
  • Alcance: Global
  • Nombre de usuario: jenkins
  • Clave privada: Ingresa directamente y pega la clave privada ‘id_rsa’ del usuario Jenkins desde el servidor master.

Haz clic en ‘OK’.

elegir el método de autenticación

Y se ha creado la credencial de Jenkins con el método de clave de autenticación ssh.

Se ha creado la credencial de Jenkins con el método de clave de autenticación ssh

Paso 3 - Configurar nodos esclavos

Ahora configuraremos los servidores de nodos esclavos instalando java en esos servidores y creando un nuevo usuario Jenkins.

Instalar Java

Instala los paquetes ‘software-properties-common’ y agrega el repositorio PPA de java.

sudo apt install software-properties-common apt-transport-https -y  
sudo add-apt-repository ppa:openjdk-r/ppa -y

Ahora instala java OpenJDK usando el comando apt a continuación.

sudo apt install openjdk-8-jdk -y

Después de que la instalación esté completa, verifica la versión de java instalada.

java -version

Y obtendrás Java OpenJDK 1.8 instalado en el sistema.

Agregar nuevo usuario Jenkins

Ahora agrega el usuario ‘Jenkins’ a todos los nodos agentes.

Ejecuta el siguiente comando.

useradd -m -s /bin/bash jenkins  
passwd Jenkins

El usuario ‘Jenkins’ para los nodos agentes ha sido creado.

Agregar nuevo usuario Jenkins

Copiar la clave SSH del Master al Slave

A continuación, debemos cargar la clave ‘id_rsa.pub’ del master a los nodos de servidor esclavos. Necesitamos cargarla en cada nodo de servidor usando el comando ‘ssh-copy-id’ como a continuación.

ssh-copy-id [email protected]  
ssh-copy-id [email protected]

Escribe la contraseña del usuario Jenkins.

La clave ssh ‘id_rsa.pub’ se ha cargado en todos los nodos agentes.

Copiar la clave SSH del Master al Slave

Paso 4 - Agregar nuevos nodos esclavos

En el panel de Jenkins, haz clic en el menú ‘Administrar Jenkins’, y haz clic en ‘Administrar Nodos’.

Agregar nuevos nodos esclavos

Haz clic en ‘Nuevo Nodo’.

Nuevo Nodo

Escribe el nombre del nodo ‘slave01’, elige el ‘agente permanente’, y haz clic en ‘OK’.

nombre del nodo

Ahora escribe los detalles de información del nodo.

  • Descripción: servidor agente nodo slave01
  • Directorio raíz remoto: /home/jenkins
  • Etiquetas: slave01
  • Método de lanzamiento: Lanzar agente esclavo a través de SSH, escribe la dirección IP del host ‘10.0.15.21’, elige la autenticación usando las credenciales de ‘Jenkins’.

información del nodo

Ahora haz clic en el botón ‘Guardar’ y espera a que el servidor master se conecte a todos los nodos agentes y lance los servicios del agente.

A continuación se muestran los resultados cuando el servidor master se conecta a todos los nodos agentes.

el servidor master está conectado a todos los nodos agentes

Los nodos esclavos de Jenkins se han agregado al servidor master.

Paso 5 - Preparar nodos agentes esclavos para ejecutar la compilación

En este paso, configuraremos el master de Jenkins para ejecutar la compilación en los nodos agentes esclavos.

Haz clic en el menú ‘Administrar Jenkins’ y luego haz clic en ‘Configurar Sistema’.

Preparar nodos agentes esclavos para ejecutar la compilación

Ahora ve a la sección ‘Configuraciones de Esclavos’ y define todo lo que necesites como se muestra a continuación.

la sección 'Configuraciones de Esclavos'

Más información sobre las ‘Configuraciones de Esclavos’ en el enlace.

Haz clic en el botón ‘Guardar’ y ahora estamos listos para ejecutar la compilación en los nodos agentes esclavos.

Paso 6 - Pruebas

Ahora queremos crear una nueva compilación simple para Jenkins y ejecutar la compilación en ambos nodos agentes ‘slave01’ y ‘slave02’.

En el panel de Jenkins, haz clic en el menú ‘Nuevo Elemento’.

Pruebas de Jenkins

Escribe el nombre del elemento, elige el proyecto de estilo libre, y haz clic en ‘OK’.

Agregar proyecto de estilo libre

En la sección general, escribe la descripción del trabajo y marca la opción ‘Restringir dónde se puede ejecutar este proyecto’.

En la ‘Expresión de Etiqueta’, especifica el nodo como ‘slave01’.

Seleccionar un nodo

Pasa a la sección de compilación y elige la opción ‘Ejecutar shell’, escribe el comando como a continuación.

top -b -n 1 | head -n 10 && hostname

Haz clic en el botón ‘Guardar’, y serás redirigido a la página del trabajo.

Página del trabajo

Haz clic en ‘Construir Ahora’ para construir el proyecto, y luego haz clic en el elemento en la sección ‘Historial de Construcción’.

Construir ahora

Y el siguiente es mi resultado.

Construcción en el nodo agente ‘slave01’.

resultado de la salida del script de Jenkins

Construcción en el nodo agente ‘slave02’.

Construcción en el nodo 02

La instalación y configuración de la arquitectura master/slave de Jenkins y las compilaciones distribuidas de Jenkins se han completado con éxito.

Referencias

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.