De Cero a Producción: Tu Web con Astro y Cloudflare Pages (Gratis)
Introducción: La mejor infraestructura es la que no mantienes
En un artículo anterior desglosé la arquitectura de mi portfolio usando Docker, Nginx y pipelines personalizados. Esa es la vía “pesada” y corporativa. Pero como Technical Lead, también sé que la eficiencia a menudo significa elegir la herramienta más simple que resuelva el problema.
Si quieres levantar un blog, una landing page o un portfolio hoy en día, no necesitas un VPS, ni abrir puertos, ni lidiar con certificados SSL a mano. El ecosistema ha evolucionado hacia el Edge Computing.
En este tutorial te voy a enseñar cómo montar un proyecto base con Astro y desplegarlo en Cloudflare Pages de forma totalmente gratuita y automatizada. Una arquitectura de nivel empresarial al alcance de cualquiera.
1. El Stack: ¿Por qué Astro + Cloudflare?
Antes de picar código, hablemos de decisiones de arquitectura:
- Astro: Genera HTML estático por defecto, enviando CERO JavaScript al cliente a menos que se lo pidas expresamente (Arquitectura de Islas). Es el rey del rendimiento web actual.
- Cloudflare Pages: No es solo un hosting. Es una red de entrega de contenido (CDN) global. Tu web no vivirá en un servidor en Alemania; estará replicada en cientos de ciudades en todo el mundo, a milisegundos de tu usuario final.
La combinación de ambos te da una web inhackeable (no hay base de datos expuesta) y con tiempos de carga casi instantáneos.
2. Creando el proyecto base (El “Hola Mundo”)
Abre tu terminal. Solo necesitas tener Node.js instalado. Vamos a utilizar el CLI (Command Line Interface) de Astro, que tiene una de las mejores Developer Experiences (DX) del mercado.
Ejecuta este comando:
npm create astro@latest
El asistente te hará unas preguntas rápidas. Te recomiendo esta configuración para empezar limpio:
- Directorio:
mi-proyecto-astro - Plantilla: Empty o Blog (según lo que busques).
- Dependencias: Sí, instálalas.
- TypeScript: Sí (siempre es buena práctica tipar tu código).
Entra en la carpeta y levanta el entorno de desarrollo local:
cd mi-proyecto-astro
npm run dev
Visita http://localhost:4321 y verás tu web funcionando a la velocidad de la luz.
3. El Repositorio: Git como fuente de la verdad
Para que el despliegue automático (CI/CD) de Cloudflare funcione, tu código debe vivir en un repositorio remoto. Nada de subir archivos por FTP, eso quedó en la década de los 2000.
- Crea un repositorio vacío en tu cuenta de GitHub.
- Enlaza tu proyecto local y súbelo:
git init
git add .
git commit -m "feat: init astro project"
git branch -M main
git remote add origin [https://github.com/tu-usuario/mi-proyecto-astro.git](https://github.com/tu-usuario/mi-proyecto-astro.git)
git push -u origin main
4. Despliegue en Cloudflare Pages: Magia en 3 clics
Aquí es donde la infraestructura moderna brilla. Vamos a conectar Cloudflare a tu GitHub para que cada vez que guardes un cambio, se despliegue solo.
- Entra en tu panel de Cloudflare.
- En el menú lateral, ve a Workers & Pages.
- Haz clic en el botón azul “Create” y luego selecciona la pestaña Pages.
- Elige “Connect to Git”.
- Selecciona tu repositorio de GitHub (
mi-proyecto-astro) y dale a Begin setup.
La configuración clave del Build: Cloudflare suele detectar automáticamente que es un proyecto de Astro, pero asegúrate de que estos valores estén correctos:
- Framework preset: Astro
- Build command:
npm run build - Build output directory:
dist
Dale a “Save and Deploy”.
En menos de un minuto, Cloudflare descargará tu código, instalará las dependencias, compilará el HTML estático y lo distribuirá por todo el planeta. Te dará una URL pública del tipo tu-proyecto.pages.dev.
Conclusión
Acabas de montar un pipeline de Integración y Despliegue Continuo (CI/CD) profesional de coste cero.
A partir de ahora, tu único trabajo es escribir código o contenido. Cada vez que hagas un git push a tu rama principal, Cloudflare detectará el cambio y actualizará tu web en segundos. Has eliminado el mantenimiento de la ecuación, permitiéndote centrarte exclusivamente en el producto.
🛠 Ficha Técnica
- Frontend Framework: Astro
- Hosting / CDN: Cloudflare Pages
- Control de Versiones: Git + GitHub
- Pipeline CI/CD: Integrado (Cloudflare Build)
- Coste Mensual: 0,00 €