Knowledge base

Connect your GitLab account so your sites deploy from a repository

Create a GitLab personal access token with the api and write_repository scopes and connect it, so a push deploys your site.

What connecting it does for you

Connecting GitLab lets a site deploy from one of your GitLab repositories, and lets us publish to GitLab Pages on your account where you choose it as a site's host.

Before you start

A GitLab account with access to the projects you want to deploy.

1. Create the key at GitLab

In GitLab, select your avatar at the top right, then Edit profile → Access → Personal access tokens, and generate a new token (GitLab may label this Legacy token in the Generate token menu). Name it, set an expiration date, and tick these scopes:

  • api
  • write_repository

Press Generate token and copy it — GitLab shows it once.

2. Connect it here

Open Integrations in your dashboard and choose Connect an account. Pick Code hosting as the group and GitLab as the account, fill in API token, and press Connect account.

We test what you paste before anything is saved. A key that does not work is never stored, and the answer says what was wrong with it. A key that works is kept encrypted in our secrets vault — never in our database — and is never shown again, not even to you.

What happens next

  • A site can deploy straight from a repository on this account: choose it on the
  • site's repository connection, pick the repository and branch, and a push deploys.

  • Every other branch can get its own preview, so you can check a change before it reaches the
  • live site.

  • Git-built static hosts such as Render and Azure Static Web Apps use this connection as the
  • source of the site's code.

If it does not connect

It worked and then stopped. GitLab tokens always expire — usually at most a year after you create them — and GitLab emails you before they do. Create a new one and connect it.

A scope is missing. A token's scopes cannot be changed after it is created; create a new token with both scopes ticked.

It says the key was rejected. Almost always one of three things: a space or a line break copied with it, a key that has expired, or a key that was revoked or regenerated after you copied it. Create a fresh one and paste it again.

It connects, but something later fails. The key authenticates but lacks a permission the action needs. Create a new key with the permissions listed above, then disconnect the old connection and connect the new key.

Disconnecting

Open Integrations, find the account and press Disconnect. That deletes the stored key at once. Anything that was using it stops at its next action, and the screens that depended on it say so rather than failing quietly.

Disconnecting does not undo what was already done — records, deployments or settings we changed on your account stay as they are. If you think the key itself may have leaked, also revoke it at the vendor; disconnecting removes our copy, not theirs.

Latest from the blog

What we have been writing about hosting, SEO and running sites at scale.

SEO and Link Building from the Hosting Layer: A 2026 Operator's View

How hosting shapes indexing and link equity in 2026: keeping pages indexed, vetting aged domains before you build on them, link building without a footprint, and an honest line on what infrastructure can and cannot do for SEO.

Read the post

Making WordPress Fast and Secure: A Performance and Plugin Checklist

A practical checklist for fast, secure WordPress: server-level caching, a per-site object cache, the handful of plugins worth running, keeping the stack current, and the WooCommerce pages you must never cache.

Read the post

How to Choose Managed Web Hosting in 2026: A Buyer's Guide

What actually separates good managed hosting from a cheap box with a control panel — migrations, backups, isolation, real caching and honest scaling — and how to judge it before you commit.

Read the post

Read the blog

Still stuck?

Support is included on every plan, the desk is open 24 hours a day, and you can write to us in any of our 58 languages — we answer you in yours.

Contact support All articles