Contexto
Para este portfolio necesitaba un flujo de deploy rapido: hacer cambios, push, y que el sitio se actualice. Pero tambien necesitaba poder hacer deploys manuales para probar antes de commitear.
Lo que aprendi
Setup inicial (una sola vez)
# Instalar Vercel CLI via pnpm (NUNCA npm en este proyecto)
pnpm add -g vercel
# Vincular el proyecto desde el directorio del site
cd site
vercel link
# Seleccionar el proyecto existente en Vercel dashboard
Esto crea site/.vercel/project.json con el projectId y orgId. Ese archivo se gitignora -- cada developer lo genera con vercel link.
Dos modos de deploy
# Preview deploy (para probar antes de ir a prod)
cd site && vercel deploy
# Production deploy (directo, sin preview)
cd site && vercel deploy --prod
El modo que realmente uso: auto-deploy
En la practica, el 95% de los deploys son automaticos via push a GitHub:
git push github main
# Vercel detecta el push y deploya automaticamente
Solo uso vercel deploy manual cuando quiero probar algo sin commitear, o cuando necesito un preview URL para compartir.
Comandos utiles del dia a dia
# Ver los ultimos deploys
vercel ls
# Ver logs de un deploy
vercel logs <deployment-url>
# Inspeccionar un deploy (build time, tamanio, etc)
vercel inspect <deployment-url>
# Pull de environment variables a .env.local
vercel env pull
Gotcha: pnpm, no npm
El proyecto usa pnpm estrictamente. Si Vercel CLI se instala con npm, puede generar conflictos con el lockfile. Mantener consistencia:
# Bien
pnpm add -g vercel
# Mal (puede romper el lockfile)
npm i -g vercel