Skip to main content

vercel-deploy

Vercel deployment workflows for Next.js — preview deployments, environment variables, branch configuration, log troubleshooting, and production rollbacks. Use when deploying to Vercel, debugging failed builds, or configuring deployment settings.

معلومات المصدر

المستودع
lennney/skills
آخر نشاط في المصدر
٢٣ يونيو ٢٠٢٦ في ١٢:٤٤
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٠
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
vercel-deploy
description
Vercel deployment workflows for Next.js — preview deployments, environment variables, branch configuration, log troubleshooting, and production rollbacks. Use when deploying to Vercel, debugging failed builds, or configuring deployment settings.
# Vercel Deploy (Next.js) Vercel deployment management for Next.js projects. ## Deployment Flow ``` git push origin main └─ Vercel: Production Deploy └─ Build → Deploy → Ready (auto-assigns domain) git push origin feature-branch └─ Vercel: Preview Deploy └─ Build → Deploy → Ready (auto-generates preview URL) └─ Comment on PR with preview link ``` ## Project Configuration ### `vercel.json` ```json { "framework": "nextjs", "buildCommand": "npm run build", "outputDirectory": ".next", "installCommand": "npm ci", "regions": ["hnd1"], "headers": [ { "source": "/(.*)", "headers": [ { "key": "X-Frame-Options", "value": "DENY" }, { "key": "X-Content-Type-Options", "value": "nosniff" }, { "key": "Referrer-Policy", "value": "strict-origin-when-cross-origin" } ] } ] } ``` ### Environment Variables ```bash # Production (Vercel Dashboard → Project → Settings → Environment Variables) DATABASE_URL=... AUTH_SECRET=... # Preview (same dashboard, set for Preview only) DATABASE_URL=..._preview NEXT_PUBLIC_API_URL=https://staging-api.example.com # Local development (.env.local) DATABASE_URL=postgres://localhost:5432/dev ``` **Best Practices:** - Production secrets → Vercel Dashboard (never in code) - `NEXT_PUBLIC_*` prefix for client-side env vars - Use Vercel Environment Variable Groups for shared vars across projects - Never commit `.env` files (only `.env.example`) ## Branch Configuration ### Production Branch Set in Vercel Dashboard: Project → Settings → Git → Production Branch ``` Production Branch: main ``` ### Preview Deployments - Every push to non-production branches creates a preview - Preview URLs: `project-name-git-branch-name-xxxxx.vercel.app` - Preview branches can be limited in Settings → Git → Ignored Branches ``` Ignored Branches: - dependabot/** - renovate/** - docs/** ``` ## Build Troubleshooting ### Common Build Failures | Error | Likely Cause | Fix | |-------|-------------|-----| | `Module not found` | Missing dependency | `npm ci` locally, check lockfile | | `Build exceeded memory limit` | Too many parallel builds, memory leak | Reduce parallel tasks, check for memory leaks | | `Command "npm run build" exited with 1` | TypeScript/ESLint errors | Run `npm run lint` + `npx tsc --noEmit` locally | | `Function Invocation Failed (Serverless)` | Lambda timeout or memory | Increase function memory/maxDuration in vercel.json | | `Error: ENOENT: no such file or directory` | Build artifact not found | Check `outputDirectory` in vercel.json | ### Debug Locally ```bash # Build locally (matches Vercel build) npm run build # Check bundle npx next build # Preview production build locally npm run start # Use Vercel CLI for precise reproduction vercel build --prod npx serve .vercel/output/static ``` ## Logs & Monitoring ```bash # View deployment logs vercel logs <deployment-url> # Live tail production logs vercel logs --tail # Vercel Dashboard → Project → Logs: # - Build Logs (build failures) # - Function Logs (runtime errors, API routes) # - Edge Function Logs (middleware, edge runtime) ``` ### Speed Insights & Analytics Enable in Vercel Dashboard: - **Speed Insights** → Core Web Vitals (LCP, CLS, INP) per route - **Web Analytics** → Page views, top pages, traffic sources ## Rollback ```bash # CLI: rollback to previous deployment vercel rollback # CLI: rollback to specific deployment vercel rollback <deployment-id> # Dashboard: Project → Deployments → [deployment] → ⋮ → Promote to Production ``` ## Checklist - [ ] `vercel.json` configured (regions, headers, build settings) - [ ] Environment variables set correctly for Production + Preview + Development - [ ] Preview deployments work for all feature branches - [ ] Build succeeds locally (`npm run build`) - [ ] Speed Insights enabled (monitor Core Web Vitals) - [ ] Rollback process known and documented - [ ] Production branch protection set (main) - [ ] Ignored branches configured (dependabot, docs) - [ ] Security headers configured in vercel.json - [ ] Team members have appropriate Vercel access roles
عرض على GitHub