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 install
ynpm 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