Cómo Configurar CI/CD con Ollama (Paso a Paso)
Bien, cortemos lo superfluo. Configurar CI/CD con Ollama puede parecer ciencia de cohetes al principio, pero honestamente no es tan complicado una vez que le agarras el truco. En este tutorial, te guiaré a través de cómo poner todo en marcha, asegurando que puedas desplegar tus aplicaciones automáticamente como un profesional, y sí, hacer tu vida mucho más fácil en el proceso.
Lo Que Vamos a Construir y Por Qué Es Importante
Estamos construyendo un pipeline eficiente usando Ollama para integración y despliegue continuo (CI/CD), lo que automatizará el proceso de probar y desplegar código. Esto es crucial ya que asegura que cada cambio sea validado, liberando tus noches del temido pánico del despliegue de última hora.
Requisitos Previos
- Ollama instalado en tu sistema (Revisa la última versión en documentación oficial)
- Python 3.11+
- Node.js 14+ (si trabajas con proyectos basados en JavaScript)
- Un repositorio de GitHub o cualquier otro control de versiones
- Una herramienta de CI/CD de tu elección que soporte Ollama (GitHub Actions, GitLab CI, etc.)
Paso 1: Instalar Ollama
Para comenzar a usar Ollama, primero necesitarás instalarlo. Este paso es importante porque Ollama no aparece mágicamente. De hecho, tienes que descargar e instalar el software. Aquí te explico cómo hacerlo.
curl -sSL https://ollama.com/install.sh | sh
Si tienes problemas, asegúrate de que el comando curl esté disponible en tu terminal. Si no, puede que necesites instalarlo usando tu gestor de paquetes. Podrías encontrarte con problemas de permisos; en ese caso, intenta ejecutarlo con sudo.
Paso 2: Configurar Tu Repositorio Git
No puedes usar CI/CD sin un repositorio de código. Vamos a crear un repositorio Git si no tienes uno. Esto es crucial porque es donde vive tu código y es donde CI/CD monitoreará los cambios.
git init tu-proyecto
cd tu-proyecto
git add .
git commit -m "Commit inicial"
Asegúrate de añadir un archivo README.md para tener una idea clara de qué trata tu proyecto. Puede parecer un pequeño detalle, pero puede ahorrarte tiempo a ti y a otros a largo plazo. Y sí, también he olvidado este paso demasiadas veces en el pasado.
Paso 3: Configurar Ollama en Tu Proyecto
Ollama opera usando un archivo de configuración llamado ollama.yaml. Necesitas configurarlo para que Ollama sepa qué acciones tomar cuando se produzcan cambios en tu repositorio de código. Aquí tienes un ejemplo simple que puedes utilizar:
name: MyOllamaCI
version: 1.0
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Run tests
run: |
python -m unittest discover
Tener un archivo como este puede hacer que tus ojos se nublen, pero confía en mí: es tu plan para la automatización. Asegúrate de ajustarlo según sea necesario para tus requisitos y dependencias específicas.
Paso 4: Crear Tu Pipeline de CI/CD
Ahora que Ollama está configurado, querrás crear un pipeline que escuche los cambios en tu repositorio. Esta parte es crucial porque automatiza las fases de pruebas y despliegue. Cuando envíes cualquier nuevo código, el pipeline comenzará a trabajar. El código se ve algo así:
name: CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Run tests
run: |
python -m unittest discover
- name: Deploy
run: |
echo "¡Desplegando en producción!"
Cuando cometas tus cambios, el pipeline se activará, instalando dependencias, ejecutando pruebas y luego desplegando tu aplicación. Sin embargo, ten cuidado ya que no desplegar correctamente puede llevar a que falten variables de entorno en producción. Siempre puedes configurarlas en la interfaz administrativa de tu plataforma de hosting.
Paso 5: Manejo de Errores
Así que, por increíble que suene este proceso, te vas a encontrar con algunos obstáculos. Aquí tienes un desglose de los errores más comunes que podrías encontrar y cómo solucionarlos:
- Errores de Dependencias: Si no se encuentran tus dependencias, revisa tu archivo
requirements.txty verifica que los paquetes especificados estén instalados en tu entorno. - Pruebas Fallando: Las pruebas unitarias a menudo fallan debido a un simple error tipográfico o dependencias desactualizadas. Ejecuta las pruebas localmente antes de enviar tu código para asegurarte de que pasen.
- Despliegue a Producción Fallando: Esto podría deberse a variables de entorno que faltan que se requieren durante la fase de despliegue. Confirma que estén configuradas correctamente en tu plataforma de hosting.
Las Trampas
Hay varias cosas que pueden fastidiarte en producción que la mayoría de los tutoriales no mencionan. Aquí están algunas de mis favoritas:
- Desajuste de Entorno: Tu entorno local puede funcionar perfectamente, pero la producción puede ser otra historia. Siempre prueba en un entorno que imite la producción tan de cerca como sea posible.
- Archivos Ignorados: Asegúrate de que tu archivo
.gitignoreno excluya archivos que realmente necesites en producción (como tuollama.yamlo archivos de configuración sensibles). - Problemas de Control de Versiones: Si tienes varias ramas, asegúrate de que estás desarrollando en la correcta. Hacer un push a la rama equivocada puede llevar a comportamientos inesperados.
Ejemplo Completo de Código
Aquí tienes la totalidad de lo que hemos construido hasta ahora en una sola pieza cohesiva. Cuando lo juntes, debería verse algo así:
name: CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
- name: Run tests
run: |
python -m unittest discover
- name: Deploy
run: |
echo "¡Desplegando en producción!"
¿Qué Siguiente?
Si te sientes aventurero, ¡este es el momento de integrar Ollama con otras herramientas! Te recomiendo encarecidamente explorar herramientas de observabilidad (como Prometheus) para mantener un ojo en el rendimiento de tu aplicación después del despliegue. Esto te proporciona datos sobre todo lo que tu pipeline de CI/CD necesita mejorar con el tiempo.
Preguntas Frecuentes
Q: ¿Qué pasa si mis pruebas son inestables?
A: Las pruebas inestables pueden ser una pesadilla, especialmente cuando pasan a veces y fallan en otras. Busca condiciones de carrera, dependencias del tiempo o servicios externos que podrían no estar siempre disponibles. Aislá tus pruebas siempre que sea posible.
Q: ¿Puedo usar Ollama con otras herramientas de CI/CD?
A: ¡Absolutamente! Aunque los ejemplos proporcionados aquí se centran en GitHub Actions, Ollama puede funcionar con herramientas como GitLab CI, CircleCI o Jenkins. Simplemente sigue la documentación para la configuración específica de la herramienta que elijas.
Q: ¿Cómo sé cuándo ha fallado mi pipeline de CI/CD?
A: Tu plataforma generalmente te notificará por correo electrónico o a través del panel cuando un trabajo falle. Asegúrate de que las notificaciones estén habilitadas para que estés al tanto de los problemas a medida que surgen.
| Característica | Ollama | GitLab CI | Jenkins |
|---|---|---|---|
| Estrellas | 165,553 | 135,959 | 36,024 |
| Forks | 15,055 | 35,893 | 14,138 |
| Problemas Abiertos | 2,682 | 1,579 | 2,915 |
| Licencia | MIT | MIT | MIT |
| Última Actualización | 2026-03-19 | 2023-04-12 | 2023-05-25 |
Decidirse por una herramienta de CI/CD que se ajuste a tus necesidades es crucial. Ollama es mejor que GitLab CI para proyectos pequeños debido a su simplicidad, mientras que Jenkins tiene su lugar en entornos empresariales más grandes.
Si no lo has notado, soy un gran fan de Ollama. Es casi a prueba de tontos si sigues estos pasos. Te hace preguntarte cómo sobreviviste sin él.
Datos a partir del 19 de marzo de 2026. Fuentes: Estadísticas de Ollama, GitLab, Jenkins.
Artículos Relacionados
- Cómo los Agentes de IA Dominan Múltiples Idiomas sin Problemas
- Ollama vs vLLM: ¿Cuál Elegir para Proyectos Secundarios?
- Mis Agentes de IA Ahora Hablan con Otros Servicios: Así Es Como Lo Hice
🕒 Published: