skills/vercel-cli/references/deployment.md
Ensure .vercel/ exists before deploying (via vercel link or vercel link --repo).
vercel # preview deployment (default)
vercel --prod # production deployment
vercel --target staging # custom environment
Build locally, deploy the output — avoids remote builds:
vercel build --prod
vercel deploy --prebuilt --prod
If build and deploy run in separate CI jobs, use --standalone so artifacts are self-contained:
vercel build --prod --standalone
# (upload .vercel/output/ as artifact, then in deploy job:)
vercel deploy --prebuilt --prod
URL=$(vercel deploy --prod)
Use vercel curl — it handles deployment protection automatically:
vercel curl /api/health --deployment $PREVIEW_URL
Do not disable deployment protection. Use vercel curl instead.
vercel redeploy <url> — rebuild an existing deploymentvercel promote <url> — move a deployment to production without rebuildingvercel rollback <url> — revert to a previous deploymentvercel rolling-release — gradual traffic shiftingURL=$(vercel --prod --skip-domain) # deploy without domain assignment
vercel curl / --deployment $URL # verify (handles deployment protection)
vercel promote $URL # promote to production
vercel rr configure --enable --stage=10,5m --stage=50,10m --stage=100,0
vercel rr start --dpl=<deployment-url>
vercel rr status