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
- Requisitos Previos
- Instalación de Jenkins
- Configuración Inicial de Jenkins
- Configuración de un Job de CI
- Integración con Control de Versiones
- Ejemplo Práctico
- Ejercicio Práctico
- 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.
- 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:
Verifica que Jenkins está corriendo:
- 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.
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.
- Configuración de un Job de CI
Crear un Nuevo Job
- En el panel de Jenkins, haz clic en "Nuevo Item".
- Introduce un nombre para el job y selecciona "Freestyle project".
- Haz clic en "OK".
Configurar el Job
- Código Fuente: En la sección "Source Code Management", selecciona "Git" y proporciona la URL del repositorio.
- 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.
- 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.
- Ve a la configuración de tu repositorio en GitHub/GitLab.
- 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.
- En la configuración del job, marca la opción "Poll SCM".
- Proporciona una expresión cron para definir la frecuencia de las verificaciones.
- Ejemplo Práctico
Crear un Job de CI para un Proyecto Java
- Código Fuente:
- URL del repositorio:
https://github.com/tu-usuario/tu-proyecto-java.git
- URL del repositorio:
- Construcción:
- Añadir paso de construcción:
Invoke top-level Maven targets - Objetivo:
clean install
- Añadir paso de construcción:
Configuración del Webhook en GitHub
- URL del webhook:
http://localhost:8080/github-webhook/ - Content type:
application/json
- Ejercicio Práctico
Ejercicio: Configurar un Job de CI para un Proyecto Node.js
-
Requisitos:
- Un repositorio Git con un proyecto Node.js.
- Jenkins instalado y funcionando.
-
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 installynpm test.
-
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.
Curso de CI/CD: Integración y Despliegue Continuo
Módulo 1: Introducción a CI/CD
Módulo 2: Integración Continua (CI)
- Introducción a la Integración Continua
- Configuración de un Entorno de CI
- Automatización de la Construcción
- Pruebas Automatizadas
- Integración con Control de Versiones
Módulo 3: Despliegue Continuo (CD)
- Introducción al Despliegue Continuo
- Automatización del Despliegue
- Estrategias de Despliegue
- Monitoreo y Retroalimentación
Módulo 4: Prácticas Avanzadas de CI/CD
Módulo 5: Implementación de CI/CD en Proyectos Reales
Módulo 6: Herramientas y Tecnologías
Módulo 7: Ejercicios Prácticos
- Ejercicio 1: Configuración de un Pipeline Básico
- Ejercicio 2: Integración de Pruebas Automatizadas
- Ejercicio 3: Despliegue en un Entorno de Producción
- Ejercicio 4: Monitoreo y Retroalimentación
