Skip to content
Latchkey

vercel deploy Command Reference

Deploy a project to a Vercel preview or production URL.

vercel deploy uploads and builds your project, returning a deployment URL. In CI you authenticate with a token and typically deploy prebuilt output for speed and reproducibility.

What it does

vercel deploy (the default subcommand of vercel) creates a deployment from the current project and prints its URL. Without --prod it is a preview; with --prebuilt it uploads the local .vercel/output produced by vercel build.

Common flags and usage

  • --prod: promote the deployment to the production domain
  • --prebuilt: deploy local build output from vercel build
  • --token TOKEN: authenticate non-interactively
  • --yes: skip interactive setup prompts
  • --archive=tgz: upload the build as an archive (large projects)

Example

shell
- name: Build and deploy to Vercel
  env:
    VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
  run: |
    vercel pull --yes --environment=production --token "${VERCEL_TOKEN}"
    vercel build --prod --token "${VERCEL_TOKEN}"
    vercel deploy --prebuilt --prod --token "${VERCEL_TOKEN}"

In CI

Pass --token from secrets and --yes so the deploy never prompts. The reliable pattern is vercel pull then vercel build then vercel deploy --prebuilt, which separates the build from the upload and guarantees the deployed output matches what you built in the runner.

Key takeaways

  • vercel deploy creates a deployment and returns its URL; --prod promotes it.
  • Pass --token and --yes so the deploy runs non-interactively.
  • Use pull then build then deploy --prebuilt for reproducible deploys.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →