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.
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
- Mise à jour de votre système
apt-get update && apt-get upgrade -y
- Installer les paquets nécessaires à la configuration de votre support
apt-get install -y usbutils
- Créer un utilisateur spécifique pour notre clé
adduser --disabled-password --gecos "" git && echo "git:git" | chpasswd
- Détecter votre périphérique. Vous pouvez utiliser lsusb ou dmesg
Ici on peut voir que ma clé se trouver sur /dev/sda
- Créer le point de montage :
mkdir /gitData
- 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é
On retrouve /dev/sda1 avec un UUID égal à B9B8-190F
- 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
- Monter la partition (pas besoin de redémarrer)
mount -a
Vous voilà avec une clé USB montée automatiquement
Installer du serveur Git
- 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)
- Sur votre machine de développement (Windows, Linux, Mac ….)
- Aller dans le répertoire contenant les sources
- 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
- 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
- Pour récupérer les dernières sources du repository
git pull pi master
- 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






