> ## Content Index
> Fetch the complete content index at: https://mindsers.blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# Comment migrer GitLab vers un nouveau serveur
- URL: https://mindsers.blog/fr/post/migrer-un-serveur-gitlab/
- Published: 2015-11-17T12:16:21.000Z
- Updated: 2021-08-07T13:19:35.000Z
- Author: Nathanaël Cherrier
- Tags: gitlab, coding-tech, linux, #lang-fr

Au boulot, j’ai dû migrer le [serveur GitLab](https://about.gitlab.com/?ref=mindsers.blog) de la boite vers un [VPS plus puissant chez OVH](https://www.ovh.com/fr/vps/?ref=mindsers.blog). Ce n’était vraiment pas compliqué finalement, mais j’avoue que par inattention j’ai fait pas mal d’erreurs.

C’est pourquoi je vous propose cet article. Je m’écris vous écris la démarche sans erreurs ici.

## Faire une sauvegarde de l’ancien serveur GitLab

Je ne sais pas si vous aviez l’habitude de faire une sauvegarde régulière de votre serveur GitLab. Si oui tant mieux, **c’est une** **best practice** **qu’il faut avoir** et vous pouvez donc passer cette étape (ne pas la lire, mais la faire quand même).

Pour les autres voici la marche à suivre.

Si vous n’avez pas de dossier une sauvegarde dans `/var/opt/gitlab/` créez le.

Faites une copie des clés d’authentifications `/etc/gitlab/gitlab-secrets.json`

Lancez la création d’une sauvegarde :

```bash
# version package (apt-get) 
gitlab-rake gitlab:backup:create 

# version installation manuelle 
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production

```

Vous pouvez récupérer l’archive créée dans le dossier d’une sauvegarde

## Installation du nouveau serveur

Cette étape est classique, il s’agit d’une installation normale de GitLab.

Normalement vous maitrisez déjà cette partie. Seule différence pour les plus anciens d’entre nous à utiliser GitLab c’est que **les nouvelles versions ne s’installent plus manuellement, mais à partir du gestionnaire de paquets**.

Commencez par installer les paquets nécessaires au bon fonctionnement de GitLab  
`sudo apt-get install curl openssh-server ca-certificates postfix`

Ajouter les serveurs de GitLab comme serveurs de paquets pour votre machine  
`curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash`

Installez GitLab `sudo apt-get install gitlab-ce`

Configurez GitLab selon vos besoins puis lancez `sudo gitlab-ctl reconfigure`

## Transferts des données entre les serveurs

Copiez votre archive (créée précédemment) dans `/var/opt/gitlab/backups/`

Rétablissez les bons droits sur l’archive `sudo chown git:git /var/opt/gitlab/backups/[timestamp]_gitlab_backup.tar`

Copier `gitlab-secrets.json` dans `/etc/gitlab/`

Stoppez les processus qui sont connectés à la base de données  
`sudo gitlab-ctl stop unicorn; sudo gitlab-ctl stop sidekiq`

Remontez toutes les données (indiquez à la variable `BACKUP` **le timestamp correspondant au backup** que vous souhaitez remonter)  
`sudo gitlab-rake gitlab:backup:restore BACKUP=24567834567`

Redémarrer GitLab `sudo gitlab-ctl start`

Créez les satellites Ruby manquants  
`sudo gitlab-rake gitlab:satellites:create`

Vérifiez que tout s’est bien passé  
`sudo gitlab-rake gitlab:check SANITIZE=true`

À ce stade, si tout s’est bien passé, vous avez un serveur tout neuf avec la dernière version de GitLab ainsi que tous vos projets installés. Vous pouvez souffler vous n’avez rien perdu !