Deploying Projects from Vercel CLI

Learn how to deploy your Vercel Projects from Vercel CLI using the vercel or vercel deploy commands.
Table of Contents

The vercel command is used to deploy Vercel Projects and can be used from either the root of the Vercel Project directory or by providing a path.

terminal
vercel

Deploys the current Vercel project, when run from the Vercel Project root.

You can alternatively use the vercel deploy command for the same effect, if you want to be more explicit.

terminal
vercel [path-to-project]

Deploys the Vercel project found at the provided path, when it's a Vercel Project root.

When deploying, stdout is always the Deployment URL.

terminal
vercel > deployment-url.txt

Writes the Deployment URL output from the deploy command to a text file.

By default, when you promote a deployment to production, your domain will point to that deployment. If you want to create a production deployment without assigning it to your domain, for example to avoid sending all of your traffic to it, you can:

  1. Turn off the auto-assignment of domains for the current production deployment:
terminal
vercel --prod --skip-domain
  1. When you are ready, manually promote the staged deployment to production:
terminal
vercel promote [deployment-id or url]

You can build Vercel projects locally to inspect the build outputs before they are deployed. This is a great option for producing builds for Vercel that do not share your source code with the platform.

It's also useful for debugging build outputs.

terminal
vercel build

Using the vercel command to deploy and write stdout to a text file.

This produces .vercel/output in the Build Output API format. You can review the output, then deploy with:

terminal
vercel deploy --prebuilt

Deploy the build outputs in .vercel/output produced by vercel build.

See more details at Build Output API.

Last updated on July 17, 2024