Boehrsi.de - Blog

Boehrsi.de - CI/CD Workflow

Erstellt am event Uhr von account_circle Boehrsi in label Development
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).

Manueller CI/CD Workflow open_in_new

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.

Automatischer CI/CD Workflow open_in_new
Kommentare  
Kommentar erstellen
Mit dem Abschicken des Kommentars erklären sie sich mit der in der Datenschutzerklärung dargelegten Datenerhebung für Kommentare einverstanden. Spam, unangebrachte Werbung und andere unerwünschte Inhalte werden entfernt. Das Abonnieren via E-Mail ist nur für E-Mail Adressen erlaubt die Sie rechtmäßig administrieren. Widerrechtliche Abonnements werden entfernt.