Boehrsi.de - IT und Gaming Blog

Boehrsi.de - CI/CD Workflow

Boehrsi.de - CI/CD Workflow Bild

Über die letzten Wochen und Monate habe ich meine Build-Pipeline für den Blog optimiert und erweitert und würde sie zum jetzigen Zeitpunkt als fertiggestellt betrachten. Verbesserungen kann man natürlich immer vornehmen, aber aktuell fallen mir zumindest keine mehr ein.
Das Ganze läuft komplett via Git ab, sodass ich als Nutzer lediglich einen Commit und Push durchführe und alles weitere automatisiert geschieht. Dabei werden direkt beim Commit neue Bilder optimiert, sodass der Server keine unnötige Arbeit durchführen muss. Sobald der Push durchgeführt wird, wird ein Git-Hook open_in_new ausgelöst und startet den Hugo open_in_new Build Prozess. Dieser sorgt durch Minification automatisiert für kleinere und optimierte Dateien. Anschließend kopiert das Script die Dateien ins Deploy Verzeichnis.

Letzterer Deploy-Schritt wird durch kleinere Ergänzungen verfeinert, so werden zum eigentlichen Hugo Output weitere Dateien die ich benötige hinzugefügt, z.B. Google Search Console Token oder eine robots.txt. Diese befinden sich ebenfalls im Git, aber in einem speziellen Ordner, welcher von Hugo nicht beachtet wird.
Die gesamte Verarbeitung wird vom Script überwacht und am Ende wird eine Mail mit Log-Informationen an mich versendet. Das Auslösen der serverseitigen Skripte kann durch eine einfache Anpassung der Commit-Message unterbunden werden, sodass keine unnötige Arbeit auf dem Server durchgeführt werden muss. Das Ganze habe ich auch noch einmal in Form eines Diagramms zusammengefasst (erstellt mit Sequencediagram.org, siehe News).

Zusätzlich zu diesem manuellen auslösen des Build-Script, wird die serverseitige Komponente täglich automatisch via Cron-Job ausgelöst, um geplante Beiträge zu veröffentlichen. Auch dazu gibt es im Folgenden eine kleine Grafik.

keyboard_arrow_left Vorheriger Beitrag
Games Gewinnspiel November - Erinnerung
Nächster Beitrag keyboard_arrow_right
Humble Cybersecurity und Big Data & Infographics Bundles
Teilen und RSS-Feeds abonnieren
Google+ Twitter Facebook RSS
Kommentare
Mit dem Abschicken des Kommentars erklären sie sich mit der in der Datenschutzerklärung dargelegten Datenerhebung für Kommentare einverstanden.