Sauvegarde et restauration de Gitlab CE-CI

Sauvegarde et restauration de Gitlab CE-CI

Publié le 25/12/2015

On souhaite sauvegarder et restaurer un serveur Gitlab. Pour cela nous allons installer une nouvelle instance de Gitlab dans une machine virtuelle pour y restaurer notre sauvegarde et de tester son intégrité.

1 - Sauvegarde

Sur notre serveur Gitlab, on va lancer la sauvegarde avec la commande suivante :

gitlab-rake gitlab:backup:create

On va aller récupérer le fichier de sauvegarde :

cd /var/opt/gitlab/backups

On va copier ce fichier vers la nouvelle installation de Gitlab :

scp /var/opt/gitlab/backups/1451063445_gitlab_backup.tar user@gitlab-new.domain.local:/home/user/

Sauvegarder les clé ssh :

scp /etc/gitlab/gitlab-secrets.json user@gitlab-new.domain.local:/home/user/

2 - Restauration

D'abord s'assurer d'avoir les mêmes versions de Gitlab sur les deux machines.

Sur la machine où l'on souhaite restaurer, on va copier le fichier de sauvegarde dans le répertoire /var/opt/gitlab/backups :

cp /home/user/1451063445_gitlab_backup.tar /var/opt/gitlab/backups

Changement des permissions du fichier de sauvegarde

chmod 775 /var/opt/gitlab/backups/1451063445_gitlab_backup.tar

Arrêt des processus suivants :


gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq

Restauration :

gitlab-rake gitlab:backup:restore BACKUP=1451063445

Le numéro dans la variable BACKUP correspond à l'horodatage de la sauvegarde au début du nom du fichier de sauvegarde.

Restaurer les clé ssh :

sudo cp gitlab-secrets.json /etc/gitlab/gitlab-secrets.json

On relance Gitlab :

gitlab-ctl start

Et on vérifie que la restauration s'est déroulée correctement :

gitlab-rake gitlab:check SANITIZE=true