GitLab - Migration d'une instance GitLab sur un nouveau serveur

Petit mémo pour la procédure à suivre si l'on souhaite déplacer son instance GitLab sur un nouveau serveur.

Prérequis

Le nouveau serveur doit avoir une instance GitLab dans la même version que l'ancien serveur.

Les scripts d'installation sont disponible ici :

  • https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh
  • https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh

Procédure

Sur l'ancien serveur

1) Création d'un répertoire pour stocker les données :

# mkdir /tmp/bkp-gitlab

2) Arrêter les services GitLab :

# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq

3) Créer une sauvegarde de l'instance actuelle :

# gitlab-rake gitlab:backup:create

4) Copier les fichiers de configuration et certificats de GitLab :

# cp /etc/gitlab/gitlab.rb /tmp/bkp-gitlab/
# cp /etc/gitlab/gitlab-secrets.json /tmp/bkp-gitlab/
# cp -r /etc/gitlab/ssl /tmp/bkp-gitlab/

5) Copier le fichier de backup généré à l'étape 3)

# cp /var/opt/gitlab/backups/1588460614_2020_05_03_12.10.2_gitlab_backup.tar /tmp/bkp-gitlab/

6) Transférer le répertoire /tmp/bkp-gitlab sur le nouveau serveur GitLab

# scp -r /tmp/bkp-gitlab user@X.X.X.X:/tmp

Sur le nouveau serveur

1) Copier les fichiers suivant dans le /etc/gitlab

# cp /tmp/gitlab* /etc/gitlab
# cp -r /tmp/gitlab/ssl /etc/gitlab

2) Reconfigurer la nouvelle instance :

# gitlab-ctl reconfigure

3) Arrêter les services GitLab :

# gitlab-ctl stop unicorn
# gitlab-ctl stop sidekiq

4) Copier le fichier de sauvegarde de l'ancienne instance à l'emplacement suivant :

# cp /tmp/bkp-gitlab/1588460614_2020_05_03_12.10.2_gitlab_backup.tar /var/opt/gitlab/backups

5) Changer les autorisations du fichier copié :

# chown git:git /var/opt/gitlab/backups/1588460614_2020_05_03_12.10.2_gitlab_backup.tar

6) Lancer le processus de restauration GitLab :

# gitlab-rake gitlab:backup:restore BACKUP=1588460614_2020_05_03_12.10.2

7) Pour finir, relancer les services GitLab et lancer une vérification du système :

# gitlab-ctl start
# gitlab-rake gitlab:check SANITIZE=true

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *