vercel deploy
Learn how to deploy your Vercel projects using the vercel deploy CLI command.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 to it.
vercel
Using the vercel
command from the root of a Vercel Project directory.
vercel --cwd [path-to-project]
Using the vercel
command and supplying a path to the root directory of the Vercel Project.
vercel deploy --prebuilt
Using the vercel
command to deploy a prebuilt Vercel Project, typically with vercel build
. See vercel build and Build Output API for more details.
When deploying, stdout
is always the Deployment URL.
vercel > deployment-url.txt
Using the vercel
command to deploy and write stdout
to a text file. When deploying, stdout
is always the Deployment URL.
In the following example, you create a bash script that you include in your CI/CD workflow. The goal is to have all preview deployments be aliased to a custom domain so that developers can bookmark the preview deployment URL.
# save stdout and stderr to files
vc deploy >deployment-url.txt 2>error.txt
# check the exit code
code=$?
if [ $code -eq 0 ]; then
# Now you can use the deployment url from stdout for the next step of your workflow
deploymentUrl=`cat deployment-url.txt`
vc alias $deploymentUrl my-custom-domain.com
else
# Handle the error
errorMessage=`cat error.txt`
echo "There was an error: $errorMessage"
fi
The script deploys your project and assigns the deployment URL saved in stdout
to the custom domain using vc alias
.
If you need to check for errors when the command is executed such as in a CI/CD workflow,
use stderr
. If the exit code is anything other than 0
, an error has occurred. The
following example demonstrates a script that checks if the exit code is not equal to 0:
# save stdout and stderr to files
vc deploy >deployment-url.txt 2>error.txt
# check the exit code
code=$?
if [ $code -eq 0 ]; then
# Now you can use the deployment url from stdout for the next step of your workflow
deploymentUrl=`cat deployment-url.txt`
echo $deploymentUrl
else
# Handle the error
errorMessage=`cat error.txt`
echo "There was an error: $errorMessage"
fi
These are options that only apply to the vercel
command, therefore, more information is provided.
The --build-env
option, shorthand -b
, can be used to provide environment variables to the build step.
vercel --build-env KEY1=value1 --build-env KEY2=value2
Using the vercel
command with the --build-env
option.
The --yes
option can be used to skip questions you are asked when setting up a new Vercel Project.
The questions will be answered with the provided defaults, inferred from vercel.json
and the folder name.
vercel --yes
Using the vercel
command with the --yes
option.
The --env
option, shorthand -e
, can be used to provide Environment Variables at Runtime.
vercel --env KEY1=value1 --env KEY2=value2
Using the vercel
command with the --env
option.
--name
option has been deprecated in favor of Vercel Project Linking, which allows you to link a Vercel Project to your local codebase when you runvercel
.The --name
option, shorthand -n
, can be used to provide a Vercel Project name for a deployment.
vercel --name foo
Using the vercel
command with the --name
option.
The --prod
option can be used to create a deployment for a production domain specified in the Vercel Project dashboard.
vercel --prod
Using the vercel
command with the --prod
option.
The --public
option can be used to ensures the source code is publicly available at the /_src
path.
vercel --public
Using the vercel
command with the --public
option.
The --regions
option can be used to specify which regions the deployments Serverless Functions should run in.
vercel --regions sfo1
Using the vercel
command with the --regions
option.
The --no-wait
option does not wait for a deployment to finish before exiting from the deploy
command.
vercel --no-wait
The --force
option, shorthand -f
, is used to force a new deployment without the build cache.
vercel --force
The --with-cache
option is used to retain the build cache when using --force
.
vercel --force --with-cache
The --archive
option compresses the deployment code into a single file before uploading it. The only currently supported format is "tgz".
vercel --archive=tgz
The following global options can be passed when using the vercel deploy
command:
For more information on global options and their usage, refer to the options section.
Was this helpful?