A Vercel Deployment results from a successful build of your Project. The build emits files that are compatible with the Build Output API, a file-system-based specification for a directory structure that utilizes all of the Vercel platform features, such as Serverless Functions, Edge Functions, routing, and caching.
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 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:
- Simplified collaboration through pull requests or merge requests
- The ability to test new features and changes using Preview Deployments before merging to the
mainbranch to automatically create a Production Deployment
- The ability to receive live feedback in preview environments with the Comments feature (on supported Git providers).
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.
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.
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
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:
- Edge Middleware
- Functions (Serverless Functions or Edge Functions)
- ISR Functions
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.
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.