원클릭으로
deployment-infrastructure
Deploy to Vercel/Cloudflare, manage environment variables, troubleshoot builds, and handle rollbacks.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Deploy to Vercel/Cloudflare, manage environment variables, troubleshoot builds, and handle rollbacks.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Migrate from Next.js 15 to Next.js 16 and handle breaking changes
Configure Content Security Policy and security headers for the portfolio
Deploy Next.js to Cloudflare Workers using OpenNext adapter
Manage the canary token honeypot system for detecting security scanning
Write, debug, and optimize GROQ queries for Sanity CMS in this portfolio
Advanced TypeScript patterns and type safety as used in this portfolio
| name | deployment-infrastructure |
| description | Deploy to Vercel/Cloudflare, manage environment variables, troubleshoot builds, and handle rollbacks. |
Run the full verification suite before any deployment:
npx tsc --noEmit # TypeScript must pass
npm run lint # ESLint must pass
npm run test -- --run # Tests must pass
npm run doctor # React-doctor must be 100/100
npm run build # Build must succeed
If any step fails, fix it before deploying. Never deploy broken code.
Local preview (production-like):
npm run build && npm run start
Vercel CLI deploy:
npx vercel --prod # Production deployment
npx vercel # Preview deployment (branch)
Vercel environment variables:
| Variable | Environment | Required |
|---|---|---|
NEXT_PUBLIC_SANITY_PROJECT_ID | All | Yes |
NEXT_PUBLIC_SANITY_DATASET | All | Yes |
SANITY_API_READ_TOKEN | All | Yes |
SANITY_REVALIDATE_SECRET | All | Yes |
NEXT_PUBLIC_UMAMI_WEBSITE_ID | Production | No |
NEXT_PUBLIC_UMAMI_SCRIPT_URL | Production | No |
NEXT_PUBLIC_UMAMI_HOST_URL | Production | No |
Check env vars are set:
npx vercel env ls
The repo uses opennextjs-cloudflare for Cloudflare compatibility:
npm run cloudflare:build # Build for Cloudflare
npm run cloudflare:dev # Local Cloudflare dev
npm run cloudflare:deploy # Deploy to Cloudflare
Cloudflare-specific notes:
output: 'standalone' is disabled on Windows (isWindows check in next.config.js)wrangler.toml configures Workers bindingsCommon build errors:
| Error | Cause | Fix |
|---|---|---|
Module not found | Missing dependency | npm install |
Type error | TypeScript strict mode | Fix the type error in the source |
Hydration mismatch | Server/client HTML differ | Check useEffect guards, mounted state |
Circular dependency | Import cycle | Refactor to break the cycle |
ENOMEM | Out of memory | Increase Node memory: NODE_OPTIONS="--max-old-space-size=4096" |
Build analysis:
ANALYZE=true npm run build # Bundle analyzer (if configured)
Vercel rollback:
npx vercel rollback # Roll back to previous deployment
npx vercel rollback <url> # Roll back to specific deployment
Git rollback:
git log --oneline -10 # Find the commit to roll back to
git revert <commit-hash> # Create a revert commit
git push # Trigger redeployment
Emergency: force deploy last known good:
git checkout <good-commit> -- .
git commit -m "chore: emergency rollback to <good-commit>"
git push
Vercel manages SSL automatically. For custom domains:
npx vercel domains add <domain>
Verify DNS records point to Vercel's nameservers or use CNAME to cname.vercel-dns.com.
npm run build locally firstconsole.log in production code (use reportWebVitals instead)npm run build succeeds locally