App Deploy
App Deploy es la funcionalidad central de Kubiy para ejecutar aplicaciones que actúan como servidores HTTP. Con ella puedes conectar un repositorio de GitHub, configurar el runtime y dejar que Kubiy gestione el ciclo completo de despliegue: build, inicio del proceso, health check y rollback automático.
Qué puedes desplegar
App Deploy está diseñado para aplicaciones que abren un puerto HTTP y responden peticiones. Los runtimes soportados son:
| Runtime | Modos de inicio | Proceso manager |
|---|---|---|
| Node.js | npm run [script], node [archivo] | PM2 |
| Python | python, gunicorn, uvicorn | systemd |
| Go | exec (binario), go run | systemd |
| .NET | auto/publish, dotnet [dll], dotnet run, bin | systemd |
Casos de uso típicos
- APIs REST y GraphQL — Express, FastAPI, Gin, ASP.NET Core
- Servidores SSR — Next.js (server mode), Nuxt, SvelteKit
- Workers con HTTP — Sidekiq con interfaz web, Celery Flower
- Microservicios — cualquier servicio que exponga un endpoint HTTP para health checks
Qué hace Kubiy por ti
Cuando lanzas un deploy, Kubiy:
- Sube el código fuente a S3
- Envía el comando de despliegue al servidor EC2 asignado vía SSM
- Ejecuta el build (instalación de dependencias o el comando que tú especifiques)
- Inicia el proceso con el modo de inicio configurado
- Realiza health checks hasta confirmar que la app está lista
- Si el health check falla, revierte automáticamente al release anterior
Flujo del wizard
El wizard de deploy tiene dos pasos principales:
Step 1 — Runtime y repositorio
- Seleccionas el runtime (Node.js, Python, Go, .NET)
- Conectas o seleccionas el repositorio de GitHub
- Opcionalmente especificas un subdirectorio si tu app no está en la raíz del repo
Step 2 — Configuración de inicio
- Seleccionas el preset de inicio (según el runtime)
- Ajustas el target (script npm, archivo principal, módulo WSGI/ASGI, etc.)
- Configuras las variables de entorno
- Opcionalmente defines el health check path y el build command personalizado
Variables de entorno inyectadas por Kubiy
Kubiy siempre inyecta las siguientes variables en el proceso de tu app:
| Variable | Descripción |
|---|---|
PORT | Puerto en el que la app debe escuchar |
APP_PORT | Alias de PORT (disponible en todos los runtimes) |
KUBIY_DEPLOY_ID | Identificador único del deploy en curso |
KUBIY_APP_ID | Identificador único de la aplicación |
Tu app debe escuchar en el puerto indicado por PORT (o APP_PORT). Kubiy configura el proxy inverso automáticamente.
Health Check y rollback
El health check es opcional pero muy recomendado. Si lo configuras, Kubiy hace polling a http://127.0.0.1:{PORT}{healthPath} cada segundo, hasta 25 intentos. Si la app no responde con HTTP 2xx en ese tiempo, el deploy se marca como fallido y se restaura el release anterior.
:::tip Recomendación
Implementa siempre un endpoint /health que devuelva 200 OK con un body mínimo. Es la mejor forma de garantizar rollbacks limpios.
:::
Auto-deploy con GitHub
Puedes configurar Kubiy para que haga deploy automático cada vez que haces push a la rama principal. Esto se activa en la configuración de la app, en la sección de integración con GitHub.
Subdirectorio de proyecto
Si tu repositorio es un monorepo o la app está en un subdirectorio (por ejemplo api/ o backend/), puedes especificarlo en el wizard. Kubiy usará ese directorio como raíz del proyecto para el build y el inicio.