GitLab Migration Service
Introduction
Please review the general information about our migration service.
To migrate an existing GitLab instance, we require a recent backup and the authentication file gitlab-secrets.json. These are used to successfully migrate your entire GitLab instance.
Please note that we do not offer migration from gitlab.com, as GitLab does not provide a complete backup.
We offer two different options for the migration:
1. Migration via Provision of the GitLab Backup
This option is particularly suitable for GitLab servers that are, for example, operated locally on an intranet and are not accessible externally. In this option, you provide the backup and the authentication file, which are then transferred to the new GitLab server using the scp or rsync command.
2. Migration via Access to the GitLab Server by Our Support Team
In this option, our support team gains access to your current GitLab instance and creates a backup updated as of the day of the migration. Our support team then transfers the backup and the authentication file to your new creoline server.
Both options are described in detail below so that you can choose the one that best suits your needs. Please let our support team know which option you’ve chosen using the migration form.
Migration via Provision of the GitLab Backup
To prepare for the migration, a current backup and the authentication file gitlab-secrets.json are required. Please also determine the GitLab version in use so that we can prepare the destination server as effectively as possible, since the exact same GitLab version is required on both servers. If the GitLab version in use is already known, this step can be skipped.
Preparation and Creating a Backup
The GitLab version in use can be determined with the following command:
gitlab-rake gitlab:env:info Output:
GitLab information
Version: 18.02.0 You can then create a backup of the entire instance. Use the following command to do so:
gitlab-backup create Once complete, the backup is stored at the following path:
/var/opt/gitlab/backups/ Deployment via scp
Deploying the GitLab server backup:
scp /var/opt/gitlab/backups/18085XXXXX_XXXX_XX_XX_XX.X.X_gitlab_backup.tar benutzername@sXXXXX.creolineserver.com:/home/benutzername/ Deploying the GitLab secrets:
scp /etc/gitlab/gitlab-secrets.json benutzername@sXXXXX.creolineserver.com:/home/benutzername/ Replace the username with that of your SSH system user and the hostname with the hostname of your new GitLab server. Please note that the username must also be included in the path specification.
If the connection is rejected by the destination server with the error message Connection refused, check the destination server’s cloud firewall to ensure that incoming connections from the source server to port 22 are explicitly allowed. For more information, see Cloud Firewall.
Deployment via rsync
Deploying the GitLab server backup:
rsync -a /var/opt/gitlab/backups/17085XXXXX_XXXX_XX_XX_XX.X.X_gitlab_backup.tar benutzername@sXXXXX.creolineserver.com:/home/benutzername/ Deploying the GitLab secrets:
rsync -a /etc/gitlab/gitlab-secrets.json benutzername@sXXXXX.creolineserver.com:/home/benutzername/ Replace the username with that of your SSH system user and the hostname with the hostname of your new GitLab server. Please note that the username must also be included in the path specification.
If the connection from the source server is rejected with the error message Connection refused, check the target server’s cloud firewall to ensure that incoming connections from the source server to port 22 are explicitly allowed. For more information, see Cloud Firewall.
Migration via Access to the GitLab Server
For migration performed by our support team, SSH root access or, alternatively, SSH access (with at least read permissions for /var/opt/gitlab/backups/ and /etc/gitlab/) is required, which allows for the creation of a GitLab backup, as well as the transfer of that backup and the authentication file. You can enter this information in the corresponding migration form and send the password to our support team via an encrypted sharing link. Please use secret.creoline.com for this purpose
Our support team will then verify the GitLab version in use and transfer the backup and the corresponding authentication file at the requested time.
To grant our support team access to your server, please add the following public SSH-RSA key to your authorized_keys file:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQClyrj3vqTf2c194K3P7rW/ANSlV4899qg6M1nU7WJ3fDZ0muML9jTbG0ypbeMrWRu3EgtYPOo63llykt5daBaY9upUGJPNWPuwsLXiz3a5yQncWWHNNVez/H2Drcl4lqc8KyqkvvyBVEYMmtLfpjG/WagsC3LH/jiuEV7/f/0PMczBBFG8SvDtrx6B5huOkS6IERtYsNbzpeTJWk0B0qn/kafZe1nEg+9qVtL0UUXDDH2tJ+GGBXZOGNChTBh3rig5Vmn4VGJEVWu4za+Mv5dI8xAyTXzvfdLv0iQvRqVIpyBDhRMGP1uFBoSO5P2kzrIK9wJv5y7AUZkLbusVMsvFeCbpshhV5vPqNdGWpYsrIv3jOfF4h4ibD2JSYib6qQLiePwZzJFZAZskuJgWXb+8u84d7M5kuxaCsU/RRlZx6n6ODyqWhwWDZD9PEpuYrtWlg3tGkLIVBre14CAzuZ/CrQCIpZQ38lXHYDDpuulN/aTz7GOvJwrSgxGiF3koR0CMWfVWbflSZzTTab+jmyvBE/mHQhUUjmuTT2gqpW4tjHHcW8BPxMg0D1Rt8chbkav61EfwzvMn1NpVJCRodCqk1VPx2OQ6/XHJOZJ0RYPHhybgi5HY9tZIBqvYQtq/4Y/5Ut2IcIXV9cUDMHlq44ADq43XGZnP+/GSqqacEaJ0YQ== support@creoline.com Please let us know on the migration form if you would like our support team to migrate the entire GitLab instance.