CodeAventura
Astro
▸Producción▸Deploy y configuración

Misión

●iniciando…
Astro
Preparando entorno

Esto solo ocurre la primera vez que abres el curso.

22 / 22Deploy y configuración
Anterior

Deploy y configuración

El centro de control: astro.config.mjs

Cualquier proyecto Astro tiene un astro.config.mjs (o .ts) en la raíz. Es el archivo donde vives cuando configuras integraciones, deploy, output, server, alias... Lo importas desde astro/config:

defineConfig no hace nada más allá de darte autocompletado en el editor — pero por eso lo usas siempre.

Las 4 opciones que más vas a tocar

1. site

La URL canónica del sitio. La usan el sitemap, las URLs absolutas en RSS, el <link rel="canonical">, etc.

2. output

  • static (por defecto) → todo se renderiza en build. Subes una carpeta de HTML/CSS/JS a un CDN. Súper rápido y barato.
  • server → todas las rutas son SSR. Cada petición se renderiza al vuelo. Requiere un adaptador (Node, Cloudflare, Vercel...).
  • hybrid → estático por defecto, pero rutas individuales pueden marcarse SSR con export const prerender = false. Lo mejor de ambos mundos.

3. integrations

Las integraciones añaden capacidades: frameworks de UI, generación de sitemap, MDX, Tailwind, partytown, etc. Cada una se instala con npm install y se registra aquí.

4. adapter

Para SSR/hybrid necesitas un adaptador del proveedor de hosting:

Adaptadores oficiales: Node, Vercel, Netlify, Cloudflare. Hay también de la comunidad para Deno, AWS, etc.

Otras cosas útiles

El comando que usas a diario

npm run build es lo que ejecuta tu plataforma de hosting. Lo único que sube es el resultado.

Despliegue paso a paso (sitio estático en Vercel/Netlify)

  1. npm run build.
  2. Conecta el repo a tu proveedor (Vercel, Netlify, Cloudflare Pages, GitHub Pages...).
  3. El proveedor detecta Astro, ejecuta npm run build y publica /dist.
  4. Cada push a main redepliega.

Sin servidores propios, sin Docker, sin nada.

Tu desafío 🚀

Abre astro.config.mjs. Tu trabajo:

  1. Llama a defineConfig({ ... }) y exporta el resultado por defecto.
  2. Define la propiedad site con una URL ficticia ('https://mi-sitio.com', por ejemplo).
  3. Define output con uno de estos valores: 'static', 'server' o 'hybrid'. Para un proyecto sencillo, 'static' es lo razonable.

Con esto cierras el curso: ya sabes cómo configurar un proyecto Astro y prepararlo para el deploy. ¡Felicidades, has llegado al final!