logo

blog

My website can't be that messy, right? git clone https://hacktivis.me/git/blog.git

Paramétrage de mon serveur git.xhtml (1859B)


  1. <article lang="fr" class="h-entry">
  2. <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>
  3. <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>
  4. <h2>Démarrage avec juste nginx et ssh</h2>
  5. <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>
  6. <h2>Ajout de git-daemon</h2>
  7. <p>Celui-là fût encore plus simple, j’ai juste eu à dire où sont les dépots git</p>
  8. <h2>Une meilleure interface</h2>
  9. <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>
  10. <pre><code>repo=$(pwd)
  11. cd "$(pwd | sed s/.git$//)" &amp;&amp; stagit -c "$repo.cache" "$repo"
  12. cd /git &amp;&amp; stagit-index *.git &gt; /git/index.html</code></pre>
  13. <h2>Garbage Collector</h2>
  14. <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>
  15. <h2>Code Final (déployement, stagit, …)</h2>
  16. <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>
  17. <p>Aussi, le blog est un lien symbolique vers <code>/git/blog.work</code> qui contient les fichiers bruts fait par ce hook</p>
  18. </article>