Migration d’un serveur Gitlab

Migration d’un serveur Gitlab

Après onze mois à l’essai j’ai enfin prit le temps de trouver une demeure définitive à mon Gitlab. En effet plus les mois passent, plus il est devenu indispensable dans ma vie de  tous les jours. Il me permet de garder un historique de mes scripts, fichiers de configurations et autres projets sur lesquels je travaille.

Gitlab est une sur-couche à git écrite en ruby qui permet de faire tourner un serveur git à la github chez soi. Beaucoup plus complet que ce propose github (avis très personnel), il est parfait lorsque l’on veut maintenir de petits fichiers de configurations. Il peut être aussi utilisé en complément de Github comme je le fais, ainsi je partage mes projets avec beaucoup plus de monde. Pour plus d’information rendez-vous sur le site officiel www.gitlab.com. Si vous voulez vous lancer dans l’aventure je vous conseille la « comunauty edition ».

 Préparation

Sur l’ancien serveur j’effectue une sauvegarde totale (base de données, dépôts …)

 

Par défaut celle-ci se trouve dans « /home/git/gitlab/tmp/backups », c’est un fichier compressé qui ressemble à ça :

 

Je fais une copie de ce fichier pour plus tard, l’idée est de restaurer cette sauvegarde sur le nouveau serveur fraîchement installé. Se nouveau serveur sera installé à la même version que l’ancien, dans mon cas la 6.7.5. Lors de mes tentatives de restauration j’avais fait l’inverse, mais la migration ne s’est pas déroulée correctement.

Pour installer le nouveau serveur j’ai tout simplement suivit la documentation sur le site.

 Migration

Première étape j’importe le fichier [TIMESTAMP]_gitlab_backup.tar dans le dossier /root. A ne pas copier directement dans le dossier /home/git/gitlab/tmp/backups cela changera les droits. Ensuite la migration est très simple :

 

Après quelques secondes la restauration est terminée. Tout y est la base de données, les utilisateurs, les dépôts, toutes les données de l’ancien serveur.

Maintenant tout le travail de configuration reste à faire, afin basculer définitivement sur le nouveau serveur.

Configuration post migration

Gitlab

Dans un premier temps il faut indiquer à gitlab l’url à utiliser pour l’interface web. Deux fichiers sont à modifier, je profite aussi de l’occasion pour activer les connexions ssl de mon futur serveur.

Le premier se trouve dans /home/git/gitlab/config/gitlab.ymlATTENTION avec les fichiers en Yaml les espaces sont très important il faut les respecter scrupuleusement !

 

Le second se trouve dans /home/git/gitlab-shell/config.yml – ATTENTION avec les fichiers en Yaml les espaces sont très important il faut les respecter scrupuleusement !

 

Pour valider les modifications un redémarrage du service gitlab.

 

Un peu plus haut j’abordais l’activation du SSL pour l’interface web mais aussi pour toutes les communication avec git. J’ai créé un certificat de classe1 signé chez StartSSL. Par la suite je me suis trouvé dans l’obligation  de le modifier pour l’utiliser avec Nginx. Depuis le site de startSSL j’ai récupéré le certificat, la clef non chiffrée et le certificat intermédiaire. Afin d’utiliser conjointement le certificat et l’intermédiaire dans nginx il faut les combiner.

 

Nginx

Activation des connexions ssl nginx. D’abords créer une sauvegarde de l’ancien fichier.

 

Pour récupérer le nouveau fichier :

 

Ce fichier réécrit les requêtes entrantes sur le port 80 vers le port 443, de plus il corrige l’erreur 400 Bad request que j’ai eu lors du premier démarrage.

 

Hop un nouveau  lien symbolique vers les sites activés, et je relance nginx.

Lors de ma première connexion j’ai retrouvé tous mes utilisateurs, les dépôts, comme si de rien n’était. Je dois encore mettre à jour mon nouveau  serveur et profiter des dernières nouveautés de la 7.3.0 au moment où j’écris ses lignes.

6 réactions au sujet de « Migration d’un serveur Gitlab »

  1. Hello,

    Comme expliquer dans le titre, il s’agit d’une migration, ce qui sous entend que le serveur gitlab est déjà installé, si c’est ta première fois sur gitlab je comprends que tu sois dérouté. Cet article s’adresse à des gens qui connaissent son fonctionnement.

    Par contre la documentation est très bien faite donc pas besoin de faire un tuto,  si tu souhaites te lancer dans l’aventure Gitlab regardes sur leur dépôt Github à cette adresse : https://github.com/gitlabhq/gitlabhq/tree/7-3-stable.

    Cela te permettra d’installer la dernière version sur une Debian.

    Bon courage à toi

  2. Après avoir perdu du temps à installer et mettre à jour gitlab j’ai tenté ma chance sur docker.

    Je vous conseille : https://github.com/sameersbn/docker-gitlab

    Ça change la vie 🙂

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.