Agent-almanac deploy-to-vercel
git clone https://github.com/pjt222/agent-almanac
T=$(mktemp -d) && git clone --depth=1 https://github.com/pjt222/agent-almanac "$T" && mkdir -p ~/.claude/skills && cp -r "$T/i18n/es/skills/deploy-to-vercel" ~/.claude/skills/pjt222-agent-almanac-deploy-to-vercel-ff551d && rm -rf "$T"
i18n/es/skills/deploy-to-vercel/SKILL.mdDeploy to Vercel
Desplegar una aplicación Next.js en Vercel con configuración de producción.
Cuándo Usar
- Al desplegar una aplicación Next.js por primera vez
- Al configurar despliegues de vista previa para pull requests
- Al configurar dominios personalizados
- Al gestionar variables de entorno en producción
Entradas
- Requerido: Aplicación Next.js que compila exitosamente en local
- Requerido: Repositorio de GitHub (recomendado) o proyecto local
- Opcional: Dominio personalizado
- Opcional: Variables de entorno para producción
Procedimiento
Paso 1: Verificar la Compilación Local
npm run build
Esperado: La compilación tiene éxito sin errores.
En caso de fallo: Corrige los errores de compilación antes de desplegar. Problemas comunes: errores de TypeScript, dependencias faltantes, importaciones inválidas.
Paso 2: Instalar la CLI de Vercel
npm install -g vercel
Esperado: El comando
vercel está disponible globalmente y vercel --version imprime la versión instalada.
En caso de fallo: Si ocurren errores de permisos, usa
sudo npm install -g vercel o configura npm para usar un prefijo local al usuario. Verifica que Node.js esté instalado con node --version.
Paso 3: Vincular y Desplegar
# Iniciar sesión en Vercel vercel login # Desplegar (la primera vez: crea el proyecto) vercel # Sigue las indicaciones: # - Set up and deploy? Y # - Which scope? (selecciona tu cuenta) # - Link to existing project? N (para proyectos nuevos) # - Project name: my-app # - Directory: ./ # - Override settings? N
Esperado: URL de vista previa proporcionada (p.ej.,
https://my-app-xxx.vercel.app).
En caso de fallo: Si
vercel login falla, verifica la conectividad a internet e intenta la autenticación por navegador. Si el despliegue falla, revisa la salida de la compilación — Vercel usa un entorno limpio, por lo que todas las dependencias deben estar en package.json.
Paso 4: Configurar Variables de Entorno
# Añadir variables de entorno vercel env add DATABASE_URL production vercel env add API_KEY production preview # Listar variables de entorno vercel env ls
O configura a través del panel de Vercel: Project Settings > Environment Variables.
Esperado:
vercel env ls muestra todas las variables de entorno requeridas configuradas para los entornos correctos (production, preview, development).
En caso de fallo: Si las variables no aparecen en tiempo de ejecución, verifica que el entorno objetivo coincida (production vs preview). Vuelve a desplegar después de añadir variables — los despliegues existentes no recogen nuevas variables automáticamente.
Paso 5: Desplegar a Producción
vercel --prod
Esperado: URL de producción disponible (p.ej.,
https://my-app.vercel.app).
En caso de fallo: Revisa los registros de despliegue con
vercel logs o en el panel de Vercel. Los problemas comunes incluyen variables de entorno faltantes en el entorno de producción y comandos de compilación que difieren del entorno local.
Paso 6: Conectar GitHub para Auto-Despliegue (Recomendado)
- Ve a https://vercel.com/new
- Importa tu repositorio de GitHub
- Vercel despliega automáticamente en:
- Push a main → Despliegue de producción
- Pull request → Despliegue de vista previa
Esperado: El panel de Vercel muestra el repositorio de GitHub conectado, y los pushes posteriores a main activan despliegues de producción automáticamente.
En caso de fallo: Si el repositorio no aparece en la lista de importación, verifica que la aplicación GitHub de Vercel tenga acceso al repositorio. Ve a GitHub Settings > Applications > Vercel y concede acceso.
Paso 7: Configurar Dominio Personalizado
vercel domains add my-domain.com
O a través del panel: Project Settings > Domains.
Actualiza los registros DNS según las instrucciones de Vercel (típicamente registro CNAME o A).
Esperado:
vercel domains ls muestra el dominio personalizado como configurado, y después de la propagación del DNS (hasta 48 horas), el dominio resuelve al despliegue de Vercel.
En caso de fallo: Si el dominio muestra "Invalid Configuration", verifica que los registros DNS coincidan exactamente con las instrucciones de Vercel. Usa
dig my-domain.com o un verificador de DNS en línea para confirmar la propagación.
Paso 8: Optimizar la Configuración
Crea
vercel.json para configuración avanzada:
{ "framework": "nextjs", "regions": ["iad1"], "headers": [ { "source": "/api/(.*)", "headers": [ { "key": "Cache-Control", "value": "no-store" } ] } ] }
Esperado:
vercel.json guardado en la raíz del proyecto y el siguiente despliegue recoge la configuración (visible en los registros de compilación del panel de Vercel).
En caso de fallo: Si la configuración es ignorada, verifica que
vercel.json sea JSON válido con jq . vercel.json. Consulta la documentación de Vercel para tu versión del framework, ya que algunas configuraciones pueden haberse movido a next.config.ts.
Validación
-
tiene éxito en localnpm run build - El despliegue de vista previa funciona y es accesible
- El despliegue de producción sirve la aplicación correctamente
- Las variables de entorno están disponibles en producción
- El dominio personalizado resuelve (si está configurado)
- La integración con GitHub activa despliegues al hacer push
Errores Comunes
- Compilación que falla en Vercel pero no en local: Vercel usa un entorno limpio. Asegúrate de que todas las dependencias estén en
, no solo instaladas globalmente.package.json - Variables de entorno faltantes: Las variables deben añadirse a Vercel, no solo a
. Los distintos entornos (production, preview, development) tienen conjuntos de variables separados..env.local - Incompatibilidad de versión de Node.js: Configura la versión de Node.js en Project Settings o en el campo
deengines
.package.json - Despliegues grandes: Vercel tiene límites de tamaño. Usa
para excluir archivos innecesarios..vercelignore - Tiempos de espera de rutas de API: Las funciones serverless de Vercel tienen un tiempo de espera de 10s en el plan Hobby. Optimiza o actualiza el plan.
Habilidades Relacionadas
— crear la aplicación a desplegarscaffold-nextjs-app
— configurar estilos antes del desplieguesetup-tailwind-typescript
— configuración de Git para integración de auto-despliegueconfigure-git-repository