Das Deployment von stubenradio.de

Was ist ein Deployment? Und wie kann ich das automatisieren? In diesem Artikel möchte ich dir erklären, wie ich mit etwas Programmierkenntnissen das Deployment dieser Webseite übernehmen lasse. Du kannst nicht programmieren? Keine Sorge, wenn du einmal weißt, was du automatisieren möchtest, kommt der Rest von ganz alleine.

Wovon rede ich hier eigentlich?

Hinter dem Begriff Deployment verbirgt sich die Bereitstellung von Software auf einem Anwender-PC bzw. Server. Wenn ich hier also vom Deployment spreche, meine ich die Bereitstellung von WordPress auf dem Webserver.

Warum klingt das eigentlich so kompliziert? Normalerweise wird doch WordPress einmal per FTP auf den Webserver geladen und dann fertig. Nicht ganz. Ich verwalte WordPress in einer Versionsverwaltung namens Git. Damit kann ich jede Veränderung an der Software sowie den Plugins und Templates nachvollziehen. Bevor ich eine Konfiguration auf den Webserver lade, wird diese bei mir lokal getestet und erst dann hochgeladen. Dies erledige ich nicht via FTP, sondern über eine Technologie namens WebDAV. Und da Programmierer, also ich auch, faule Leute sind, lasse ich diese Arbeit meinen Computer erledigen.

Was habe ich nun alles gemacht?

Zunächst ist es nicht unwichtig zu wissen, dass ich mit Linux arbeite. Damit ist es für mich einfacher, viele Aufgaben mit Scripte zu automatisieren. Das Deployment der Webseite stubenradio.de habe ich mit einem Build-Tool namens grunt, welches ich mit npm installiert habe, automatisiert.

Wie funktioniert das Deployment nun im Detail?

Wenn ich eine Version der Webseite fertiggestellt habe, speichere ich die Änderungen in der Versionsverwaltung. Von dort wird dann die Version in ein extra Verzeichnis kopiert und noch einige Vorbereitungen für den Webserver vorgenommen. Unter Linux ist es möglich, einen Webserver, der WebDAV unterstützt, als Dateisystem (unter Windows als Laufwerk bekannt) einzubinden. Das habe ich gemacht und synchronisiere anschließend die Version aus dem Build-Verzeichnis mit dem Webserver. Synchronisieren deshalb, weil einige Dateien gelöscht worden sein könnten bzw. bestimmte Dateien auf dem Webserver nicht gelöscht werden sollen. Dies zu erkennen übernimmt bei mir rsync.

Was ist der Vorteil bei diesem Vorgehen?

Ich habe nun mehrere Vorteile. Ich kann den Computer im Hintergrund werkeln lassen und kann mir zu 90 % sicher sein, dass ich nach dem Deployment eine funktionierende Webseite habe. (Ich traue nicht immer dem Computer, deshalb 90 %.) Ich muss mich nicht mehr darum kümmern welche Dateien auf den Webserver geladen bzw. von dort wieder gelöscht werden müssen. Auch die Laufzeit kann mir relativ egal sein. Das Arbeiten mit WebDAV ist nicht besonders schnell, aber dazu habe ich ja den Computer. Während der werkelt kann ich bspw. neue Artikel schreiben.

Das will ich auch – aber ich kann nicht programmieren

Die Grenzen der Automatisierung bestehen nicht in der Programmierung, sondern in der Wahl der Werkzeuge. Du musst dir überlegen, welche Programmiersprachen du mit deinem Betriebssystem nutzen kannst, um ein Ergebnis zu erreichen. Das Programmieren ansich ist kein Hexenwerk. Wichtig ist zunächst das Ergebnis. Probiere einfach aus wie du mit der Programmiersprache deiner Wahl zum Ergebnis kommst. Die Lernkurve ist mitunter steil, aber das Ergebnis wird motivieren. Je mehr du automatisierst, um so mehr Erfahrung wirst du sammeln. Nutzen solltest du eine Scriptsprache, die auf möglich vielen Betriebssystemen funktioniert.

Ich kann dir empfehlen, dich mit grunt zu beschäftigen. Dieses Programm ist ein Build-Tool, welches speziell zur Automatisierung von Prozessen gedacht ist. Jeder Schritt wird dabei in sogenannte Task geschrieben, die nacheinander abgearbeitet werden. Grunt kannst du über npm auf vielen Betriebssystemen installieren. Es basiert auf JavaScript und es gibt viele Plugins. Meiner Meinung nach ist die Konfiguration schnell zu erlernen. Wer es etwas technischer mag kann auch PHP, Perl oder Python nutzen. Probiert einfach aus, mit welcher Sprache ihr am besten klar kommt.

Zum Schluss

Das Schöne am Automatisieren ist, dass du zwar anfangs Zeit investieren musst, um eine immer wiederkehrende Aufgabe in für den Computer ausführbare Schritte zu übersetzen, aber dafür sparst du mit jeder Ausführung deiner Scripte Zeit. Ich empfehle dir, von deinen Daten auch Sicherheitskopien anzulegen. Das mache ich vor dem Deployment meiner Webseite auch. Schiefgehen kann trotz größter Sorgfalt einiges, doch auch eine Datensicherung kann per Script erstellt werden.

Über den Autor

Falk Döring
Falk ist der Gründer von stubenradio.de. Einige Jahre war er Moderator und stellvertretender Sendeleiter in verschiedenen Webradios und kennt das typische Auf und Ab. Eines Tages hatte er die Nase voll und hörte auf zu moderieren. In diesem Blog veröffentlicht er seine Erfahrungen, gibt einen Blick hinter die Kulissen und gibt Tipps und Tricks rund um das Thema Webradio.

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.