Vercel for GitLab automatically deploys your GitLab projects with Vercel, providing Preview Deployment URLs, and automatic Custom Domain updates.

A deployment from a Vercel for GitLab push.

Deploying a GitLab Repository

Learn how to create a new Vercel Project from a GitLab repository and enable automatic deployments on every branch push here.

Changing the GitLab Repository of a Project

If you'd like to connect your Vercel Project to a different GitLab repository or disconnect it, you can do so from the Git section in the Project Settings.

A Deployment for Each Push

Vercel for GitLab will deploy each push by default. This includes pushes and pull requests made to branches. This allows those working within the project to preview the changes made before they are pushed to production.

With each new push, if Vercel is already building a previous commit, the current build will be canceled to build the most recent commit so that you always have the latest changes deployed as quickly as possible.

Updating the Production Domain

If Custom Domains are set from a project domains dashboard, pushes and merges to the Production Branch (commonly "main") will be made live to those domains with the latest deployment made with a push.

If you decide to revert a commit that has already been deployed to production, the previous Production Deployment from a commit will automatically be made available at the Custom Domain instantly; providing you with instant rollbacks.

Preview URLs for Each Merge Request

The latest push to any merge request will automatically be made available at a unique preview URL based on the project name, branch, and team or username. These URLs will be provided through a comment on each merge request.

A preview URL created from a merge request.

You may want to use different workflows and APIs based on Git information. To support this, the following System Environment Variables are exposed to your Deployments:


Name
Description
VERCEL_GIT_PROVIDER
The Git Provider the deployment is triggered from. In the case of GitLab, the value is always gitlab.
VERCEL_GIT_REPO_SLUG
The GitLab name of the deployed project. Example: my-site.
VERCEL_GIT_REPO_OWNER
The GitLab user, group, or sub-group that the project belongs to. Example: acme.
VERCEL_GIT_REPO_ID
The GitLab ID of the deployed project. Example: 13343236.
VERCEL_GIT_COMMIT_REF
The GitLab branch that the deployment was triggered by. Example: improve-about-page.
VERCEL_GIT_COMMIT_SHA
The GitLab sha of the commit the deployment was triggered by. Example: fa1eade47b73733d6312d5abfad33ce9e4068081.
VERCEL_GIT_COMMIT_MESSAGE
The message accompanying the GitLab commit that the deployment was triggered by. Example: Add John Doe to about page.
VERCEL_GIT_COMMIT_AUTHOR_LOGIN
The username belonging to the author of the commit that was deployed on GitLab. Example: johndoe.
VERCEL_GIT_COMMIT_AUTHOR_NAME
The name belonging to the author of the commit that was deployed on GitLab. Example: John Doe.

To sign up on Vercel with a different GitLab account, sign out of your current GitLab account:

Sign out of GitLab.

Then, restart the Vercel signup process.

When importing or connecting a GitLab repository, we require that you have Maintainer access to the corresponding repository, so that we can configure a webhook and automatically deploy pushed commits.

If a repository is missing when you try to import or connect it, make sure that you have Maintainer access configured for the repository.


Last Edited on February 18th 2021