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 Septiembre Cloud. El objetivo es concreto: una URL real de producción conectada al repositorio que controlas.
Camino rápido
Sección titulada «Camino rápido»- Sube la landing a GitHub.
- Confirma que compila localmente con pnpm.
- Crea una app
weben Septiembre conectada a ese repositorio. - Dispara el primer deploy.
- Espera a que el primer deploy exitoso active y materialice la infraestructura DNS/CDN en vivo.
Antes de empezar
Sección titulada «Antes de empezar»Necesitas:
- Un repositorio de GitHub para la landing.
- Un directorio final de archivos estáticos, como
dist,builduout. - Un proyecto de Septiembre 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:
pnpm installpnpm buildSi tu landing usa Astro, Vite, Next con export estático u otra herramienta frontend estática, lo importante es el directorio final. Septiembre 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 Septiembre Cloud desde GitHub.Asegúrate de que `pnpm build` genere archivos estáticos en `dist`.Lee la referencia de API de Septiembre antes de asumir comportamiento de endpoints.No esperes infraestructura DNS/CDN en vivo antes del primer deploy exitoso.Crear la app web
Sección titulada «Crear la app web»En Septiembre Cloud, crea una nueva app web y conéctala al repositorio y rama de GitHub.
Si usas la API, la referencia fuente es ../cloud-api/docs/api-reference.md y el endpoint de creación de apps es:
POST /api/v1/orgs/{orgID}/projects/{projectID}/appsAuthorization: Bearer <cognito-id-token>Content-Type: application/jsonBody típico:
{ "name": "my-landing", "label": "production", "type": "web", "region": "us-east-2", "github_repo_full": "my-org/my-landing", "github_branch": "main", "build_command": "pnpm install --frozen-lockfile && pnpm build", "build_output_dir": "dist"}El ciclo de vida visible para el usuario es clave: la creación de la app web guarda solo la configuración de base de datos y GitHub. Registra la app, región, repositorio, rama, comando de build, directorio de salida, subdominio generado y ambiente de producción. Eso no significa que la landing ya esté viva en DNS/CDN.
Disparar el primer deploy
Sección titulada «Disparar el primer deploy»Cuando la app ya existe, dispara un despliegue:
POST /api/v1/orgs/{orgID}/projects/{projectID}/apps/{appID}/deploymentsAuthorization: Bearer <cognito-id-token>Content-Type: application/jsonPara una app web, el deploy usa la rama, comando de build y directorio de salida configurados. El flujo de landing web no requiere release_tag.
Durante el build, Septiembre clona el repositorio, hace checkout del ref, ejecuta tu comando de build y sincroniza el directorio de salida con el bucket S3 regional.
Qué pasa en el primer deploy exitoso
Sección titulada «Qué pasa en el primer deploy exitoso»El primer deploy exitoso es el punto de activación. Después de que el build termina bien, Septiembre 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.
Qué pasa en deploys posteriores
Sección titulada «Qué pasa en deploys posteriores»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.
Si el deploy falla
Sección titulada «Si el deploy falla»Empieza por el detalle de falla o el mensaje de la interfaz de Cloud:
GET /api/v1/orgs/{orgID}/projects/{projectID}/apps/{appID}/deployments/{deployID}/failureLa 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. Ejecuta los mismos comandos localmente antes de reintentar:
pnpm installpnpm buildls distChecklist de éxito
Sección titulada «Checklist de éxito»- Tu repositorio de GitHub contiene el código de la landing y el lockfile.
pnpm buildfunciona 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.