Paramétrage de mon serveur git.xhtml (1859B)
- <article lang="fr" class="h-entry">
- <h1 class="p-name"><a class="u-url" href="/articles/Param%C3%A9trage%20de%20mon%20serveur%20git">Paramétrage de mon serveur git</a></h1>
- <p>Après avoir eu plusieurs problèmes avec gitlab.com (impossibilitée de <code>git push</code> 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 <code>/git</code></p>
- <h2>Démarrage avec juste nginx et ssh</h2>
- <p>Celui-là est trivial quand on connais le truc, suffit de mettre <code>git update-server-info</code> dans <code>hooks/post-update</code> ou <code>hooks/post-receive</code> du dépot git (qui doit être un --bare)</p>
- <h2>Ajout de git-daemon</h2>
- <p>Celui-là fût encore plus simple, j’ai juste eu à dire où sont les dépots git</p>
- <h2>Une meilleure interface</h2>
- <p>En cherchant des alternatives au GNU je suis tombé sur <a href="http://git.2f30.org/stagit/">stagit</a>, 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 :</p>
- <pre><code>repo=$(pwd)
- cd "$(pwd | sed s/.git$//)" && stagit -c "$repo.cache" "$repo"
- cd /git && stagit-index *.git > /git/index.html</code></pre>
- <h2>Garbage Collector</h2>
- <p>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 <code>git gc</code> à chaque fois, ce qui n’est pas très optimisé.</p>
- <h2>Code Final (déployement, stagit, …)</h2>
- <p>Le code peut être vu dans mon dépot <a href="/git/utils">/git/utils</a>, dans le dossier <code>git-hooks</code></p>
- <p>Aussi, le blog est un lien symbolique vers <code>/git/blog.work</code> qui contient les fichiers bruts fait par ce hook</p>
- </article>