Introducción a Travis CI
Travis CI es una herramienta de integración continua que se integra perfectamente con GitHub. Permite a los desarrolladores automatizar la construcción y prueba de su código cada vez que se realiza un commit o pull request en su repositorio de GitHub.
Conceptos Clave
- Repositorio: El lugar donde se almacena el código fuente.
- Build: El proceso de compilar y probar el código.
- Job: Una unidad de trabajo que se ejecuta en un entorno aislado.
- Pipeline: Una serie de jobs que se ejecutan en secuencia o en paralelo.
Configuración Básica de Travis CI
Paso 1: Registro y Autenticación
-
Registro en Travis CI:
- Visita Travis CI y regístrate usando tu cuenta de GitHub.
- Autoriza a Travis CI para acceder a tus repositorios.
-
Activar un Repositorio:
- En el panel de Travis CI, selecciona el repositorio que deseas integrar y actívalo.
Paso 2: Archivo de Configuración .travis.yml
El archivo .travis.yml en la raíz de tu repositorio define cómo Travis CI debe construir y probar tu proyecto.
Ejemplo Básico de .travis.yml
Explicación del Ejemplo
- language: Define el lenguaje de programación. En este caso, Python.
- python: Especifica las versiones de Python a utilizar.
- install: Comandos para instalar las dependencias.
- script: Comandos para ejecutar las pruebas.
Paso 3: Ejecutar una Build
-
Commit y Push:
- Realiza un commit del archivo
.travis.ymly haz push a tu repositorio de GitHub.
- Realiza un commit del archivo
-
Verificar en Travis CI:
- Travis CI detectará el nuevo commit y comenzará la build automáticamente.
- Puedes seguir el progreso y ver los resultados en el panel de Travis CI.
Configuración Avanzada
Matrices de Build
Permiten ejecutar múltiples combinaciones de versiones de lenguajes y dependencias.
Ejemplo de Matriz de Build
language: python python: - "3.7" - "3.8" - "3.9" env: - DJANGO=2.2 - DJANGO=3.0 install: - pip install -r requirements.txt - pip install django==$DJANGO script: - pytest
Notificaciones
Puedes configurar Travis CI para enviar notificaciones sobre el estado de la build.
Ejemplo de Notificaciones
Despliegue Automático
Travis CI puede desplegar tu aplicación automáticamente después de una build exitosa.
Ejemplo de Despliegue a Heroku
deploy:
provider: heroku
api_key:
secure: "YOUR_ENCRYPTED_API_KEY"
app: your-app-name
on:
branch: mainEjercicio Práctico
Ejercicio: Configuración de Travis CI para un Proyecto Node.js
-
Crear un Proyecto Node.js:
- Inicializa un proyecto Node.js y añade un archivo
index.jsy un archivo de pruebatest.js.
- Inicializa un proyecto Node.js y añade un archivo
-
Archivo
.travis.yml:- Crea un archivo
.travis.ymlen la raíz del proyecto con el siguiente contenido:
- Crea un archivo
-
Commit y Push:
- Realiza un commit del archivo
.travis.ymly haz push a tu repositorio de GitHub.
- Realiza un commit del archivo
-
Verificar en Travis CI:
- Asegúrate de que Travis CI ejecute la build y las pruebas correctamente.
Solución del Ejercicio
Conclusión
Travis CI es una herramienta poderosa y flexible para la integración continua. Su integración con GitHub y su configuración basada en archivos YAML lo hacen accesible y fácil de usar. Con Travis CI, puedes automatizar la construcción, prueba y despliegue de tu código, mejorando la eficiencia y la calidad de tu desarrollo de software.
En el siguiente módulo, exploraremos otra herramienta popular de CI/CD: Docker y Kubernetes.
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
