blog/templates/permalink.htm - header
Hauptseite
07.02.2011 23:34:00

Jerris Website auf neuen Beinen

Wie vor kurzem angedroht hier ein paar Infos zum letzten Update meiner Homepage. Wenn's interessiert. :)

Nach einigen Umbauten habe ich nun das Backend dahingehend modifiziert, dass in Zukunft alle Inhalte der Website in einem git-Repository verwaltet werden. Ich habe mich damit von darcs verabschiedet, da git meiner Meinung nach einfacher und schneller funktioniert.

Das bedeutet nun, dass alle Blogtexte und Galerie-Bilder in einem lokalen Verzeichnis bearbeitet und angelegt werden können. Um die Blogtexte einfacher editieren zu können, werden sie nun in ASCIIDOC erstellt und beim Deployment automatisch in HTML für nanoblogger umgewandelt.

Der Deployment-Prozess selbst wird dann über ein git push gestartet. Es exitieren hierzu auf zwei verschiedenen Servern jeweils das Test- sowie das Live-System. Diese sind als bare git Repositories angelegt und im lokalen git-Repository z.B. via

$ git remote add live REPOSITORYPATH

angelegt. So kann ich einfach git push live ausführen, um die ganzen lokalen commits auf den Server zu installieren. Dort ist ein post-receive-Hook hinterlegt, der das bare-Repository auf ein temporäres Working-Repository pushed und dort dann den echten Deployment-Prozess startet. Ich weiss nicht, ob das der beste Weg ist, es ist aber ein Weg, der funktioniert und der mir alle nötigen Dateien zur Verfügung stellt.

Zunächst werden dann per ttree (aus dem Template-Toolkit) alle statischen Seiten und Templates erstellt. Über git diff --no-renames --name-status OLDREV NEWREV ermittelt der Deployment-Prozess dann alle Dateien, die sich seit dem letzten Update geändert haben (OLDREV sowie NEWREF werden dem post-receive-Hook per STDIN von git mitgeteilt. Gelöschte Dateien (Bilder, sowie Blog-Artikel) werden dann entfernt und geänderte bzw. neu angelegte Dateien im System angelegt.

Damit wird die Bildergalerie weiterhin über album erstellt, sowie der Blog weiterhin über nanoblogger generiert.

Der neue Weg ermöglicht es mir nun wesentlich einfacher, neue Artikel in einem Testsystem erstmal zu prüfen, um Sie dann auf das Livesystem zu kopieren. Insbesondere die Nutzung von ASCIIDOC vereinfacht die Erstellung von Blogeinträgen sehr, so dass ich hoffe, nun wieder öfter mal etwas zu schreiben.

Den Modifikationen ist leider lediglich der Bereich "Programme" zum Opfer gefallen. Hier fand ich die dokuwiki-Installation nicht praktisch genug. Vor allem, da auch hier das Problem existiert, dass die Daten/Text nicht mit in die Versionsverwaltung einlaufen. Dies werde ich aber hoffentlich bald auch mit Hilfe von ASCIIDOC und Skripten korrigieren.



Erstellt von Jerri | Kategorie: homepage, interessant