Vercel CLI Deploy from the terminal

Version 64.0.2 · source

Start here

vercel login
Sign in
vercel link
Tie folder to a project
vercel
Deploy a preview
vercel --prod
Deploy to production
vercel env pull
Get env vars locally
vercel dev
Run locally
vercel logs
Read runtime logs
vercel rollback
Undo a bad release

Concepts

  1. Local folder .vercel link
  2. Preview unique URL
  3. Production live domains
  4. Earlier deployment previous build

Setup

npm i -g vercel
Install the CLI
vercel login
Sign in to your account
vercel link
Link folder to a Vercel project
Writes .vercel/; commit neither it nor its contents.
vercel whoami
Show the signed-in user
vercel switch <team>
Change active team scope
vercel --version
Show CLI version
vercel upgrade
Update the CLI
vercel logout
Sign out

Deploy

vercel
Deploy a preview
Prints the deployment URL on stdout.
vercel --prod
Deploy to production
vercel deploy --prebuilt
Deploy output of vercel build
System env vars are missing at build time with --prebuilt.
vercel build
Build locally into .vercel/output
vercel --force
Deploy without the build cache
vercel --prod --skip-domain
Deploy prod, keep domains on old one
Finish later with vercel promote.
vercel --logs
Print build logs while deploying
vercel --yes
Skip project setup questions
vercel --no-wait
Exit before the build finishes
vercel --env <KEY>=<value>
Set a runtime env var
vercel --build-env <KEY>=<value>
Set a build-time env var
vercel --target=<env>
Deploy to a custom environment
vercel --archive=tgz
Upload as archive (many files)
vercel redeploy <url>
Rebuild an existing deployment

Local & Env

vercel dev
Run the project locally
vercel dev --port <port>
Run on a given port
vercel pull
Fetch env vars and settings to .vercel/
Needed before vercel build or vercel dev.
vercel env ls
List environment variables
vercel env add <name> <environment>
Add an env var
Production and Preview values default to secret type.
vercel env update <name> <environment>
Change an env var's value
vercel env rm <name> <environment>
Remove an env var
vercel env pull <file>
Write dev vars to a file
Merges into an existing file; local-only keys are kept.
vercel env pull --environment=preview
Pull Preview variables instead
vercel env run -- <command>
Run a command with the env vars
No file is written; use -e to pick the environment.
vercel env add <name> <environment> < <file>
Use file content as the value

Inspect & Logs

vercel list
Recent deployments
vercel inspect <url>
Show deployment details
vercel inspect <url> --logs
Show its build logs
vercel inspect <url> --wait
Wait until it is ready
Exits 124 if the wait times out.
vercel logs
Runtime logs, last 30 minutes
vercel logs --since <duration>
Widen the time window
vercel logs --deployment <url>
Logs of one deployment
vercel logs --query '<kql>'
Filter with a KQL query
Example: 'level:error AND timeout'.
vercel logs requests
CDN request records
vercel logs --json
One JSON object per line
vercel open
Open project in dashboard

Release

vercel promote <url>
Make a deployment the current one
vercel promote status
Show promote progress
vercel rollback
Return production to prior deployment
vercel rollback <url>
Roll back to a specific deployment
vercel rollback status
Show rollback progress
vercel remove <url>
Delete a deployment
vercel bisect
Binary-search deployments for a bug

Domains

vercel domains ls
List domains
vercel domains add <domain> <project>
Add a domain to a project
vercel domains rm <domain>
Remove a domain
vercel alias set <url> <domain>
Point a domain at a deployment
vercel alias ls
List aliases
vercel alias rm <domain>
Remove an alias
vercel dns ls <domain>
List DNS records
vercel dns add <domain> <name> <type> <value>
Add a DNS record
vercel certs ls
List certificates

Options

--cwd <dir>
Run against another directory
--scope <team>
Run as another team
--token <token>
Authenticate with a token
--project <name>
Choose the project
--non-interactive
Never prompt (CI, scripts)
--debug
Verbose output
Exit codes
Code Meaning
0 success or help
1 operation failed
2 usage error

Recipes

First deploy of a project
npm i -g vercelvercel loginvercel linkvercel env pullvercel --prod
CI deploy with a token
export VERCEL_TOKEN=<token>vercel pull --yes --environment=productionvercel build --prodvercel deploy --prebuilt --prod
Stage, check, then promote
vercel --prod --skip-domainvercel inspect <url> --logsvercel promote <url>
Alias a preview deployment
vercel > url.txtvercel alias set $(cat url.txt) preview.example.com