Saltar al contenido principal

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:

RuntimeModos de inicioProceso manager
Node.jsnpm run [script], node [archivo]PM2
Pythonpython, gunicorn, uvicornsystemd
Goexec (binario), go runsystemd
.NETauto/publish, dotnet [dll], dotnet run, binsystemd

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:

  1. Sube el código fuente a S3
  2. Envía el comando de despliegue al servidor EC2 asignado vía SSM
  3. Ejecuta el build (instalación de dependencias o el comando que tú especifiques)
  4. Inicia el proceso con el modo de inicio configurado
  5. Realiza health checks hasta confirmar que la app está lista
  6. 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:

VariableDescripción
PORTPuerto en el que la app debe escuchar
APP_PORTAlias de PORT (disponible en todos los runtimes)
KUBIY_DEPLOY_IDIdentificador único del deploy en curso
KUBIY_APP_IDIdentificador ú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.

Siguiente paso