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.yml
y 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
notifications: email: recipients: - [email protected] on_success: never on_failure: always
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: main
Ejercicio 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.js
y un archivo de pruebatest.js
.
- Inicializa un proyecto Node.js y añade un archivo
-
Archivo
.travis.yml
:- Crea un archivo
.travis.yml
en la raíz del proyecto con el siguiente contenido:
- Crea un archivo
-
Commit y Push:
- Realiza un commit del archivo
.travis.yml
y 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