Conceptual
4 min read

Deploying to Vercel

Learn how to create Deployments on Vercel using Git, Vercel CLI, Deploy Hooks, and Vercel REST API.
Table of Contents

A Vercel Deployment results from a successful build of your Project.

When you create a deployment, Vercel automatically adds a new and unique Generated URL. You can visit this URL to preview your changes in a live environment.

You can also enable visitors to leave feedback on your Deployments with by adding the Vercel Toolbar package to your projects. Learn more about the Vercel Toolbar below.

You can deploy your projects to Vercel in four different ways:

The most common way to create a Deployment on Vercel is through pushing code to Git repositories.

Creating an automatic Deployment begins by importing a Git repository on Vercel. This repository can either be private or public. To setup a Git repository, click the New Project button from the Vercel dashboard and select one of the following Git providers:

Deploying your application using Vercel's Git integration gives you:

You can also create deployments from a Git reference directly from the Vercel Dashboard. This is useful when you need to deploy specific commits or the latest changes from a branch, especially during times when automatic deployments might be disrupted.

Learn more with our Deploying a Git repository guide.

If you want to initiate Deployments based on external events in your Git repo, you can use Deploy Hooks.

Vercel CLI allows you to deploy your Projects directly from the Command Line Interface (CLI). You can use this deployment method whether your project is connected to a Git repository or not.

For a new Project, the first deploy will ask to link your local directory to the Vercel Project. This is done by running the vercel command in your local project directory.

vercel

Making an initial deployment with the vercel command.

Upon creating the first Deployment for a Project, the vercel command creates a Production Deployment.

After running this command, a .vercel directory is added at the root of your project folder. It contains both the organization and project ID. Vercel CLI automatically detects the framework your project is using.

After the initial step, you can run the vercel command again to create a Preview Deployment. To create a Production Deployment, use the vercel --prod command.

vercel --prod

Making a Production Deployment with the vercel command.

You can use the Vercel CLI to create custom CI/CD workflows and integrate into your existing pipelines.

Further, when using vercel build and vercel deploy --prebuilt, you can prevent giving access to source code by only uploading the generated build outputs to Vercel.

See the Vercel CLI documentation for other configuration options and more information.

Deploy Hooks are another way of creating Deployments on Vercel. However, a connection to a Git repository is still necessary in order to use Deploy Hooks.

The Deploy Hooks method is useful when the changes in an application depend on external events. If these changes are related to content and are made directly in a Headless Content Management System (CMS) or database, you may want to trigger Deployments without touching code. For example, you may want to trigger a deployment when a new blog post is published or when an existing blog post is updated.

To use this deployment method, you have to generate a URL that accepts HTTP GET or POST requests to trigger Deployments and re-run the Build Step without needing to push a new git commit. The URL generated is unique for every project.

See the Deploy Hooks documentation for more information.

The Vercel REST API is used to create Deployments by making an HTTP POST request to the relevant endpoint. The request's body will include all the files you want to deploy. You will have to generate a SHA for each file and upload using the Vercel REST API.

This deployment method is helpful for projects that use a custom workflow and add custom domains to a multi-tenant application or integrate a third-party service that is not currently supported by the Vercel platform.

Find more information about the Vercel REST API endpoint in the API reference.

When you deploy your website to Vercel, the platform generates multiple outputs as a result of your build. Those outputs could be:

The deployment summary provides a detailed overview of all these outputs, organized by the type. You can use this summary to understand the output of your build and determine what's being deployed.

To access the deployment summary, select your deployment from your project's Deployment tab. Under Deployment Status, expand the Deployment Summary tab.

Example of an open deployment summary.
Example of an open deployment summary.

In the deployment summary, you can see a list of all the artifacts generated from your build and specific information about them.

  • Edge Middleware: matcher
  • Static Assets: name and size
  • Functions: type, name, runtime, size and region
  • ISR Functions: name, runtime, size and region. ISR functions are grouped by related path

You can also see the time it takes to deploy your application, and the framework when available.

Last updated on July 25, 2024