Railway to Vercel Deployment Chain
Configuración para despliegue automático en cadena: Railway (API) → Vercel (Frontend).
Objetivo
Cuando Railway termine de desplegar la API exitosamente, automáticamente disparar el deployment del frontend en Vercel.
Configuración en Railway
1. Obtener el Webhook de Vercel
Primero necesitas el webhook URL de Vercel:
En tu proyecto de Vercel, ve a Settings → Git → Deploy Hooks
URL del webhook de Vercel: https://api.vercel.com/v1/integrations/deploy/[hook-id]
2. Configurar Webhook en Railway
Usando Railway CLI:
- railway login
- railway link [your-project-id]
O en la Railway Dashboard: Project → Settings → Webhooks → Add Webhook
3. Configuración Avanzada con Middleware
Si necesitas más control, puedes crear un endpoint intermedio que maneje la lógica de cuándo disparar el webhook de Vercel.
Configuración en Vercel
1. Deploy Hook
En Vercel Dashboard:
- Project → Settings → Git → Deploy Hooks
- Create Hook
- Name: "Railway API Ready"
- Branch: staging
- Copy the webhook URL
2. Environment Variables
Asegúrate de que Vercel tenga las variables correctas:
- NEXT_PUBLIC_GRAPHQL_URL - URL de tu API en Railway
- NEXT_PUBLIC_SUPABASE_URL
- NEXT_PUBLIC_SUPABASE_ANON_KEY
3. Build Command Override (Opcional)
Si necesitas esperar que la API esté lista antes de hacer build, puedes crear un script que verifique la disponibilidad de la API.
Flujo Completo
- GitHub Push to staging
- Railway detects change
- Railway builds & deploys API
- Deployment Success?
- Railway webhook triggered
- Vercel receives webhook
- Vercel builds & deploys Frontend
- Both deployed!
Comandos Útiles
Verificar Webhooks
- railway webhooks list - Listar webhooks en Railway
- Test webhook manualmente con curl
Debug
- railway logs - Ver logs de Railway
- vercel logs [deployment-url] - Ver logs de Vercel
Consideraciones
Timing
- Railway deployment: ~2-5 minutos
- Webhook trigger: ~5-10 segundos
- Vercel deployment: ~1-3 minutos
Error Handling
- Si Railway falla → No se dispara Vercel
- Si Vercel falla → Railway ya está desplegado (OK)
- Webhook falla → Puedes disparar Vercel manualmente
Ambientes
- Railway: ENVIRONMENT=staging
- Vercel: VERCEL_ENV=preview (para staging)
- Vercel: VERCEL_ENV=production (para main)
Resultado
Una vez configurado:
- Push a staging → Railway despliega API automáticamente
- API lista → Webhook dispara Vercel automáticamente
- Frontend desplegado con API actualizada
¡No más deployments manuales ni tiempos de espera fijos!