En este tema, aprenderemos cómo configurar un entorno de Integración Continua (CI). La configuración de un entorno de CI es crucial para automatizar la construcción y pruebas de tu aplicación, asegurando que cada cambio en el código se verifique automáticamente. Vamos a desglosar los pasos necesarios para configurar un entorno de CI utilizando Jenkins, una de las herramientas más populares en este campo.

Contenidos

  1. Requisitos Previos
  2. Instalación de Jenkins
  3. Configuración Inicial de Jenkins
  4. Configuración de un Job de CI
  5. Integración con Control de Versiones
  6. Ejemplo Práctico
  7. Ejercicio Práctico

  1. Requisitos Previos

Antes de comenzar, asegúrate de tener lo siguiente:

  • Java Development Kit (JDK): Jenkins requiere Java para ejecutarse.
  • Acceso a un servidor o máquina virtual: Puede ser local o en la nube.
  • Control de versiones: Git es el más común.
  • Código fuente: Un repositorio con un proyecto que deseas integrar.

  1. Instalación de Jenkins

Paso 1: Descargar Jenkins

Visita la página oficial de Jenkins y descarga la versión adecuada para tu sistema operativo.

Paso 2: Instalar Jenkins

Sigue las instrucciones específicas para tu sistema operativo. Aquí hay un ejemplo para Ubuntu:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins

Paso 3: Iniciar Jenkins

Una vez instalado, inicia Jenkins con el siguiente comando:

sudo systemctl start jenkins

Verifica que Jenkins está corriendo:

sudo systemctl status jenkins

  1. Configuración Inicial de Jenkins

Acceder a Jenkins

Abre un navegador web y navega a http://localhost:8080. Verás la pantalla de configuración inicial.

Desbloquear Jenkins

Jenkins te pedirá una contraseña inicial que puedes encontrar en el archivo /var/lib/jenkins/secrets/initialAdminPassword.

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

Instalar Plugins Recomendados

Jenkins te dará la opción de instalar plugins recomendados. Selecciona esta opción para instalar los plugins más comunes y útiles.

Crear un Usuario Administrador

Crea un usuario administrador para gestionar Jenkins.

  1. Configuración de un Job de CI

Crear un Nuevo Job

  1. En el panel de Jenkins, haz clic en "Nuevo Item".
  2. Introduce un nombre para el job y selecciona "Freestyle project".
  3. Haz clic en "OK".

Configurar el Job

  1. Código Fuente: En la sección "Source Code Management", selecciona "Git" y proporciona la URL del repositorio.
  2. Construcción: En la sección "Build", añade un paso de construcción. Por ejemplo, si estás usando Maven, selecciona "Invoke top-level Maven targets" y proporciona el objetivo clean install.

  1. Integración con Control de Versiones

Configurar Webhooks

Para que Jenkins se ejecute automáticamente cuando hay cambios en el repositorio, configura un webhook en tu repositorio Git.

  1. Ve a la configuración de tu repositorio en GitHub/GitLab.
  2. Añade un nuevo webhook con la URL http://<your-jenkins-url>/github-webhook/.

Configurar Poll SCM (opcional)

Alternativamente, puedes configurar Jenkins para que verifique cambios en el repositorio a intervalos regulares.

  1. En la configuración del job, marca la opción "Poll SCM".
  2. Proporciona una expresión cron para definir la frecuencia de las verificaciones.

  1. Ejemplo Práctico

Crear un Job de CI para un Proyecto Java

  1. Código Fuente:
    • URL del repositorio: https://github.com/tu-usuario/tu-proyecto-java.git
  2. Construcción:
    • Añadir paso de construcción: Invoke top-level Maven targets
    • Objetivo: clean install

Configuración del Webhook en GitHub

  1. URL del webhook: http://localhost:8080/github-webhook/
  2. Content type: application/json

  1. Ejercicio Práctico

Ejercicio: Configurar un Job de CI para un Proyecto Node.js

  1. Requisitos:

    • Un repositorio Git con un proyecto Node.js.
    • Jenkins instalado y funcionando.
  2. Pasos:

    • Crea un nuevo job en Jenkins.
    • Configura el código fuente para que apunte a tu repositorio Git.
    • Añade un paso de construcción para ejecutar npm install y npm test.
  3. Solución:

# En la sección "Source Code Management"
Git URL: https://github.com/tu-usuario/tu-proyecto-nodejs.git

# En la sección "Build"
Add build step: Execute shell
Command:
npm install
npm test

Retroalimentación sobre Errores Comunes

  • Error de conexión al repositorio Git: Verifica que la URL del repositorio es correcta y que Jenkins tiene acceso a Internet.
  • Fallo en la construcción: Asegúrate de que todas las dependencias están correctamente especificadas en tu archivo package.json.

Conclusión

En esta sección, hemos aprendido cómo configurar un entorno de CI utilizando Jenkins. Hemos cubierto desde la instalación de Jenkins hasta la configuración de un job de CI y la integración con control de versiones. Con esta base, estarás listo para automatizar la construcción y pruebas de tus proyectos, mejorando así la eficiencia y calidad de tu desarrollo de software.

© Copyright 2024. Todos los derechos reservados