Introducción

Como servidor de automatización que admite una lista de sistemas de software de Social Control Management (SCM) como SVN, Git y Mercurial, Jenkins ofrece muchos complementos para automatizar cualquier proyecto. Se considera una buena opción para una arquitectura “maestro / esclavo” y es un anfitrión perfecto para varios proyectos grandes.

Jenkins ‘maestro / esclavo’: ¿cómo funciona?

La arquitectura maestra y esclava de Jenkins se usa en un entorno de compilación donde la carga de trabajo para diferentes proyectos se distribuye en múltiples nodos de agentes. Se pueden usar diferentes entornos para cada construcción.

El maestro en esta configuración se encarga de las tareas relacionadas con el sistema de compilación. El nodo maestro se utiliza en varias tareas como: B. Horarios de trabajo, monitoreo de nodos esclavos, envío de compilaciones a nodos esclavos, ejecución de trabajos de compilación y mantenimiento de registros de los resultados de compilación.

Los nodos esclavos de Jenkins tienen la tarea de descargar todos los proyectos de compilación del maestro. Esto requiere una conexión establecida que debería estar disponible entre el maestro y los esclavos.

En este artículo, veremos el proceso de configuración para la arquitectura maestro / esclavo de Jenkins con Ubuntu 18.04 LTS.

requisitos

Antes de comenzar, necesitará lo siguiente:

  • Ubuntu 18.04 LTS
  • Jenkins Automation Server instalado en Ubuntu 18.04 Si no tiene Jenkins Automation Server instalado, siga nuestra guía sobre cómo instalar Jenkins Automation Server en Ubuntu 18.04 para instalar la aplicación.
  • La última versión de Master (10.0.15.10)
  • Esclavo 01 versión 10.0.15.21
  • Esclavo 02 versión 10.0.15.22
  • Derechos de root a través de sudo

¡Vamos a empezar!

Paso 1: instale Jenkins Master

En este artículo, no entraremos en la instalación básica de Jenkins.

Si ya ha instalado la aplicación Jenkins en su Ubuntu 18.04, debería tener una interfaz de usuario como la que se muestra a continuación.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora podemos seguir adelante y configurar el maestro de Jenkins.

Paso 2: configurar las credenciales maestras de Jenkins

Una vez que haya instalado el servidor maestro de Jenkins, puede configurarlo. La configuración predeterminada de Jenkins nos permite iniciar los nodos del agente de diferentes maneras. Se pueden iniciar mediante la cuenta de administrador de Windows SSH o mediante Java Web Start (JNLP).

Dependiendo de su entorno y sistema operativo (SO), debe elegir uno que se adapte a sus necesidades.

En este tutorial, usaremos SSH para iniciar estos nodos de agentes y luego configuraremos las credenciales para Jenkins en el servidor maestro.

Generar clave SSH

Necesitamos la clave de autenticación SSH para iniciar los nodos del agente. Ahora genere la clave para el usuario de Jenkins y luego úsela ‘ssh-copy-id’ para cargar manualmente esta clave en cada nodo del servidor. Ejecute los siguientes comandos en el servidor maestro de Jenkins para generar las claves:

su - jenkins
ssh-keygen

El comando anterior crea una clave privada ‘id_rsa’ y una clave pública ‘Id_rsa.pub’ en el directorio ‘.ssh’.

Configurar credenciales en Jenkins

Vaya al panel de Jenkins y luego ábralo cartas credenciales Menú..

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Escoger “Enlace de dominio global” luego haga clic en Agregar credenciales.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

A continuación, elija el método de autenticación que desea utilizar. Debe proporcionar la siguiente información:

Amable: Nombre de usuario SSH más clave privada

Alcance: Global

Nombre de usuario: Jenkins

Llave privada: Ingrese y pegue la clave privada “id_rsa” para el usuario de Jenkins

Ahora presiona OK.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora, los detalles de Jenkins se han creado utilizando la técnica de clave de autenticación SSH.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Paso 3: configure los nodos esclavos

El siguiente paso es configurar el servidor del nodo esclavo. Para hacer esto, necesita instalar Java en su servidor y luego crear un usuario de Jenkins.

Instalar Java

Comience instalando los paquetes de software, luego incluya el repositorio de PPA para Java. Esto se logra usando el comando apt en su línea de comando de Ubuntu 18.04.

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

Utilice el siguiente apt para instalar Java OpenJDK.

$ sudo apt install openjdk-8-jdk -y

Una vez completada la instalación, ejecute el siguiente comando para confirmar la versión de Java instalada.

java -version

Debería ver la versión actual de Java OpenJDK instalada en su sistema.

Agregar un nuevo usuario para Jenkins

A continuación, asegúrese de que cada uno de los nodos de agente tenga un usuario de Jenkins mediante el siguiente comando:

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

En este punto, se ha creado el usuario de Jenkins y puede continuar cargando la clave desde el maestro a los nodos del servidor esclavo.

Sube la clave SSH pública

El siguiente paso es cargar la clave ‘id_rsa.pub’ del maestro a los nodos del servidor esclavo. Utilice ‘ssh-copy-id’ para cargar la clave en cada nodo:

ssh-copy-id jenkins@10.0.15.21
ssh-copy-id jenkins@10.0.15.22

Ahora ingrese la contraseña para el usuario de Jenkins.

Después de eso, la clave ‘id_rsa.pub’ debería cargarse correctamente en cada uno de los nodos del agente.

Paso 4: agregar nodos esclavos

Vaya al panel de Jenkins y seleccione Administrar Jenkins, luego presione el Gestionar nodos.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora presione el Nudo nuevo Símbolo.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ingrese el nombre del nodo ‘esclavo01’ y luego seleccione el representante permanente y presione OK.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora ingrese la siguiente información para este nodo.

Descripción: servidor de agente de nodo esclavo01

Directorio raíz remoto: / inicio / Jenkins

Etiquetas: Esclavo 01

Método de inicio: Inicie el agente esclavo con SSH, luego ingrese la dirección IP (10.0.15.21) para el host y seleccione la autenticación con los detalles de “Jenkins”.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Guarde los cambios y asegúrese de que el servidor maestro esté conectado a todos los nodos del agente antes de iniciar los servicios del agente.

Una vez que el plano maestro se haya conectado correctamente a los nodos del agente, verá la siguiente pantalla:

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora los nodos esclavos se han agregado con éxito al servidor maestro de Jenkins.

Paso 5: preparar los nodos esclavos para ejecutar la compilación

Para configurar el maestro Jenkins para que se cree en los nodos del agente esclavo, seleccione Administrar Jenkins luego Configurar el sistema.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Haciendo Configuraciones esclavas Área y configure todo de la siguiente manera:

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Para obtener más información sobre las configuraciones de esclavos, consulte la página oficial.

prensa ahorrar para completar el proceso.

Paso 6: prueba

El siguiente paso es crear su propia compilación de Jenkins. En este caso, estamos construyendo sobre los nodos de agente ‘esclavo01’ y ‘esclavo02’.

Vaya al panel de Jenkins y seleccione eso Nuevo artículo Menú.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ingrese el nombre del artículo deseado, seleccione el Proyecto Freestyle, entonces presione OK.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

A continuación, en la sección general de Jenkins, defina los detalles del trabajo y asegúrese de tener la opción ‘Límite de dónde se puede ejecutar este proyecto.

Ingrese su nodo, p. Ej. B. ‘esclavo01’ en el Expresión de etiqueta Sección.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ejecute Shell y ejecute el siguiente comando:

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

Guarde los cambios. Debería ver la siguiente página:

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora elige Ahora crea a Ahora Inicie el proyecto, luego seleccione artículos la Construir historia Sección.

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

La compilación de ‘slave01’ debería darte el siguiente resultado:

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

La compilación de ‘slave02’ debería verse así:

Cómo configurar el maestro y esclavo de Jenkins en Ubuntu 18.04 LTS

Ahora todo esta listo.

Conclusión

En este punto, ha configurado correctamente la arquitectura maestra y esclava de Jenkins en Ubuntu 18.04. Esperamos que este tutorial le ayude a realizar el proceso con facilidad.