Migrating from GitLab to Managed Service for GitLab
You can migrate your projects to Managed Service for GitLab using the following methods:
- Self-migration: You export each project individually from the source GitLab and import them into Managed Service for GitLab without involving support. This migrates the main entities: repositories, issues with comments, merge requests, labels, milestones, wiki, and CI/CD pipelines as archives. CI/CD variables, webhooks, pipeline triggers, artifacts, and job logs are not migrated.
- Support-assisted migration: Support restores the Managed Service for GitLab instance from a backup of your custom installation. This migrates all data and settings, including projects, users, groups
, access permissions, and pipelines.
Self-migration
This method works well for migration of projects from any GitLab, including GitLab.com, a dedicated GitLab.com instance, and self-managed installations.
- Export your project from the source GitLab instance:
- Open the project in the source GitLab.
- In the left-hand menu, select Settings → General.
- Expand the Advanced section.
- Click Export project.
- Wait for an email containing the export archive link or refresh the settings page and click Download export under Export project.
- Create a Managed Service for GitLab instance.
- By default, Managed Service for GitLab instances restrict import from external sources. To enable it:
- Open the GitLab admin panel.
- Go to Admin Area → Settings → General.
- Expand Import and export settings.
- Make sure the GitLab export source is enabled under Allowed import sources. If this source is not there, add it manually.
- Click Save changes.
- Import a project to the Managed Service for GitLab instance:
- In the top-right corner, click
Create new... and select New project/repository. - Select Import project.
- Under Import project from, select GitLab export.
- Enter project name and URL, then select the export file you go in the previous step.
- Click Import project.
- In the top-right corner, click
- Migrate GitLab projects one at a time.
For more information, see these GitLab guides:
Support-assisted migration
Before you begin, see how to run migration from a custom GitLab installation to Managed Service for GitLab.
Note
The migration feature is at the Preview stage.
To migrate data to a Managed Service for GitLab instance:
-
Apply the same configuration to your Managed Service for GitLab instance as in your custom installation, such as OmniAuth
or group access restrictions . Entities such as users, groups, and pipelines are migrated later when using your custom installation backup. -
Find out the GitLab version of your custom installation. For correct migration, the custom installation version must match the Managed Service for GitLab version.
-
Open your custom GitLab installation.
-
In the left-hand menu, click Help.
A pop-up window will display the GitLab version.
-
-
Test the migration:
-
Back up
your custom installation and configuration files. -
Provide the support team
with the backup and GitLab version of your custom installation. The support team will restore the instance from your backup in Managed Service for GitLab. -
Once support confirms the instance restoration in Managed Service for GitLab, open it and make sure:
- It contains all settings, data, and projects you need.
- You can push commits and update branches.
-
-
Perform the production migration:
- Notify support of your planned migration date.
- On the day before the migration, switch your custom GitLab installation
toRead onlymode. - Back up your custom installation and configuration files.
- Provide this backup to the support team.
- On the specified migration date, the support team will restore your instance from the provided backup in Managed Service for GitLab.
-
Optionally, configure the instance domain name:
- If you used a custom domain name
for your custom installation and want to keep it, provide that domain name to the support team. They will configure it for your Managed Service for GitLab instance. - In your custom installation, configure
aCNAMEDNS record to forward users from the Managed Service for GitLab instance domain to your custom domain.
- If you used a custom domain name
See also
- Running migration from GitLab to Managed Service for GitLab
- Resource relationships in Managed Service for GitLab
- Creating and activating a Yandex Managed Service for GitLab instance
- Getting Yandex Managed Service for GitLab instance info