Paramétrage de mon serveur git
Après avoir eu plusieurs problèmes avec gitlab.com (impossibilitée de git push sur mon propre dépot, par example). J’ai décidé de faire un truc simple, inspiré de git.linkmauve.fr. J’ai mis tout mes dépots git dans le /git
Démarrage avec juste nginx et ssh
Celui-là est trivial quand on connais le truc, suffit de mettre git update-server-info dans hooks/post-update ou hooks/post-receive du dépot git (qui doit être un --bare)
Ajout de git-daemon
Celui-là fût encore plus simple, j’ai juste eu à dire où sont les dépots git
Une meilleure interface
En cherchant des alternatives au GNU je suis tombé sur stagit, un générateur static pour git (je n’aime pas les CGI, surtout quand ça peut avoir un accès sur mon dépot git), pour l’utiliser j’ai rajouté ces lines au post-update-hook :
repo=$(pwd)
cd "$(pwd | sed s/.git$//)" && stagit -c "$repo.cache" "$repo"
cd /git && stagit-index *.git > /git/index.html
Garbage Collector
Ce n’est pas comme si mes dépots étaient gros, git est censé faire ça tout-seul mais apparement non, donc je fait un git gc à chaque fois, ce qui n’est pas très optimisé.
Code Final (déployement, stagit, …)
Le code peut être vu dans mon dépot /git/utils, dans le dossier git-hooks
Aussi, le blog est un lien symbolique vers /git/blog.work qui contient les fichiers bruts fait par ce hook