一键导入
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