Saltearse al contenido

Desplegar una landing web desde GitHub

Usa esta guía cuando un agente de código con IA generó una landing estática y quieres publicarla desde GitHub con Sureva Cloud. El objetivo es concreto: una URL real de producción conectada al repositorio que controlas.

  1. Sube la landing a GitHub.
  2. Confirma que compila localmente con pnpm.
  3. Crea una app web en Sureva conectada a ese repositorio.
  4. Dispara el primer deploy.
  5. Espera a que el primer deploy exitoso active y materialice la infraestructura DNS/CDN en vivo.

Necesitas:

  • Un repositorio de GitHub para la landing.
  • Un directorio final de archivos estáticos, como dist, build u out.
  • Un proyecto de Sureva Cloud donde puedas crear apps y desplegarlas.
  • Un comando de build que funcione sin pasos manuales.

Para proyectos con pnpm, la verificación local habitual es:

Ventana de terminal
pnpm install
pnpm build

Si tu landing usa Astro, Vite, Next con export estático u otra herramienta frontend estática, lo importante es el directorio final. Sureva sincroniza esa salida con S3 durante el deploy.

Pídele a tu agente la forma correcta del proyecto

Sección titulada «Pídele a tu agente la forma correcta del proyecto»

Dale al agente el enlace de documentación y el contrato esperado de despliegue. Por ejemplo:

Crea una landing estática lista para producción para mi negocio.
Usa comandos pnpm. La app se va a desplegar como app web de Sureva Cloud desde GitHub.
Asegúrate de que `pnpm build` genere archivos estáticos en `dist`.
No esperes infraestructura DNS/CDN en vivo antes del primer deploy exitoso.

Usá el CLI para crear la app. El flag --type web selecciona la configuración de landing estática:

Ventana de terminal
sureva apps create \
--org <org-slug> \
--name my-landing \
--type web \
--region us-east-2

La creación guarda solo la configuración. Registra la app, región, subdominio generado y ambiente de producción. Eso no significa que la landing ya esté viva en DNS/CDN.

Conectá el repositorio y rama de GitHub desde el panel web de Sureva Cloud después de la creación, o seguí la guía completa de ciclo de vida con el CLI para el flujo completo conducido por un agente.

Cuando la app ya existe, dispará un despliegue con el CLI:

Ventana de terminal
sureva deploys trigger <app-id> --org <org-slug>

Agregá --wait para bloquear hasta que el deploy llegue a un estado terminal:

Ventana de terminal
sureva deploys trigger <app-id> --org <org-slug> --wait

Para una app web no se requiere release tag. El deploy usa la rama, comando de build y directorio de salida configurados en el panel.

Durante el build, Sureva clona el repositorio, hace checkout del ref, ejecuta tu comando de build y sincroniza el directorio de salida con el bucket S3 regional.

El primer deploy exitoso es el punto de activación. Después de que el build termina bien, Sureva activa y materializa la infraestructura DNS/CDN en vivo:

  • Crea o registra el tenant de CloudFront de la app web.
  • Crea el CNAME de Route53 para el subdominio de la app.
  • Habilita el tenant cuando la app es pública.
  • Invalida la caché del CDN para que los visitantes reciban los archivos nuevos.

Por eso una app web puede existir en el panel antes de que la URL pública esté lista. Primero existe la configuración; la ruta pública de entrega aparece después del primer deploy exitoso.

Después del primer éxito, los deploys posteriores reconstruyen el proyecto, sincronizan la salida con S3 e invalidan la caché del CDN. No recrean la infraestructura DNS/CDN en cada deploy.

Revisá el estado y el detalle de falla con el CLI:

Ventana de terminal
sureva deploys list <app-id> --org <org-slug>
sureva deploys status <app-id> <deploy-id> --org <org-slug>

La mayoría de fallas del primer deploy vienen de configuración del proyecto: dependencias faltantes, comando de build que falla o directorio de salida incorrecto. Ejecutá los mismos comandos localmente antes de reintentar:

Ventana de terminal
pnpm install
pnpm build
ls dist
  • Tu repositorio de GitHub contiene el código de la landing y el lockfile.
  • pnpm build funciona localmente.
  • El tipo de app es web.
  • El directorio de salida coincide con el proyecto.
  • El primer deploy exitoso terminó.
  • El subdominio público funciona después de la activación DNS/CDN.