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