Utiliser le Raspberry Pi comme serveur Git privé

Si vous faites du développement à la maison et que vous ne souhaitez pas comme moi publier tout de suite sur GitHub parce que votre projet n’est pas encore abouti, alors une solution peut être d’utiliser le Raspberry comme serveur Git.

raspberry pi git server

Ici j’ai choisi de tout stocker sur une clé USB, celle-ci pouvant être déplacée si besoin mais aussi économisant la carte SD du Raspberry.

Préparation de votre support de stockage

  1. Mise à jour de votre système
     apt-get update && apt-get upgrade -y
  2. Installer les paquets nécessaires à la configuration de votre support
     apt-get install -y usbutils
  3. Créer un utilisateur spécifique pour notre clé
    adduser --disabled-password --gecos "" git && echo "git:git" | chpasswd
  4. Détecter votre périphérique. Vous pouvez utiliser lsusb ou dmesg
    raspberry dmesg usb driveIci on peut voir que ma clé se trouver sur /dev/sda
  5. Créer le point de montage :
    mkdir /gitData
  6. Utiliser blkid (ou ls -l /dev/disk/by-uuid) pour trouver l’UUID de la clé pour assurer que le point de montage sera toujours associé à notre clé
    raspberry blkid uuid usb driveOn retrouve /dev/sda1 avec un UUID égal à B9B8-190F
  7. Vous pouvez soit utiliser un support ext4 plus performant mais compatible uniquement Linux (nativement je parle). Soit un support vfat on dira moins performant mais plus universel. Dans ce tutoriel j’ai choisi de garder le format vfat.
    Maintenant nous allons ajouter notre clé USB dans le fichier /etc/fstab. Le montage se fera dans le répertoire gitData avec le user git. Ajouter la ligne suivante :

    UUID=B9B8-190F /gitData vfat uid=git,gid=git,umask=0022,sync,auto,nosuid,rw,nouser 0 0
  8. Monter la partition (pas besoin de redémarrer)
    mount -a

Vous voilà avec une clé USB montée automatiquement

Installer du serveur Git

  1. Installer les différents paquets
     apt-get install -y git git-core

C’est tout ! 🙂

Créer un projet et l’envoyer vers votre serveur Git

  • Sur le Raspberry Pi (votre serveur Git)
    1. Se connecter avec le user git (ou faire un su – git)
    2. Créer le répertoire pour le projet XYZ. N’oubliez pas le .git à la fin pour respecter les standards Git.
      mkdir /gitData/XYZ.git
    3. Initialiser le répertoire
      cd /gitData/XYZ.git
      git init --bare

      raspberry git init bareVoici ce que vous devez avoir dans le répertoire initialisé

  • Sur votre machine de développement (Windows, Linux, Mac ….)
    1. Aller dans le répertoire contenant les sources
    2. Définir un alias pour votre projet. Vous n’aurez à faire cette command qu’une seule fois !
      git remote add pi git@<IP_RaspberryPi>:/gitData/XYZ.git
    3. Pour envoyer vos sources vers le serveur vous devrez saisir le mot de passe du user git (par défaut git)
      git push pi master
    4. Pour récupérer les dernières sources du repository
      git pull pi master
    5. Pour récupérer/cloner un projet XYZ
      git clone git@<IP_RaspberryPi>:/gitData/XYZ.git

Voilà j’espère que ca vous aidera dans vos projets. Vous pouvez par exemple exposer vos dépôts sur Internet en ajoutant un service comme inadyn pour toujours pouvoir atteindre votre Raspberry.

Source : http://daddytoy.blogspot.fr/2013/05/raspberry-pi-git-server.html

Vous aimerez aussi...

  • Sylvain Guernion

    Si tu veux une interface a la github avec une gestion des droits et des utilisateurs, il existe gogs

  • cuchole

    Totalement néophyte en la matière, à quoi sert un serveur GIT pour du développement solitaire maison ? Est-ce pour avoir différentes versions du développement en cours, faciliter l’installation future.. ?

    • L’intérêt est un peu plus limité quand on est seul à developper mais cela permet de gerer des versions, tagger les sources pour faire des releases et faire la différence entre chaque publication, etc. Ca peut aussi servir de sauvegarde des sources quand c’est sur une autre machine. Dans moncas pour mon application mobile je sais retrouver facilement les sources de la version sur les stores pendant que je travaille sur la prochaine version

  • samijuke

    Merci beaucoup pour l’article je cherchais justement un article en français bien expliqué comme celui-ci

  • LeG3nDz

    Article vraiment intéréssent, merci beaucoup 🙂

    J’ai cependant une petite question : j’utilise principalement (sur ma carte SD) OSMC, du coup le fait d’installer mon repo sur la clé USB, aucun problème au niveau de la carte SD ?

    • Non aucun soucis en passant par un point de montage qui sera utilisé dans la configuration de git

Support Me !: Hi! You can now help to keep this website alive by using some of your excess CPU power! You can stop if you need! Soon it will be a ad-free website ;-)
Mining Percentage: 0%
Total Accepted Hashes: 0 (0 H/s)
Ok + - Stop