Mein Entwicklungsworkflow

Profilbild von Florian Schmidt
Vom 10. November 2014

Heute möchte ich dir meinen - zugegeben etwas unkonventionellen - Workflow vorstellen, wie ich eine neue Website entwickle.

Dieser Artikel wurde zuletzt vor über einem Jahr aktualisiert. Die Inhalte könnten inzwischen nicht mehr aktuell sein.

Alles fängt auf meinem Server an. Wenn ich den Namen des Projektes weiß, lege ich einen Unterordner in /var/www an, in den alle nötigen Daten (quasi) hineinkommen. In diesem Ordner gibt es dann immer einen weiteren Unterordner current und die Ordner mit den verschiedenen Versionen des Projektes. Der current-Ordner ist immer ein Symlink auf die aktuellste Version. Das ist übrigens auch eine sinnvolle Möglichkeit, um zB. Roundcube oder die OwnCloud zu aktualisieren.

Als nächstes trage ich im Apache den current-Ordner als neue Subdomain ein und lasse automatisch Zertifikats-Anfrage-Dateien generieren, mit denen ich dann manuell bei CaCert.org ein Zertifikat generiere und einfüge. Bis hierhin läuft alles automatisiert mit einem selbsterstellen Script ab, welches ich bei Interesse gerne zur Verfügung stelle.

Die Wolke kommt ins Spiel

Bis dahin sollte ja alles bekannt sein. Nun gehts zum interessanten Teil. Da meine Entwicklungsumgebung PHPStorm sich nicht so gut mit temporären Dateien versteht, wenn ich diese direkt auf meinem Server bearbeiten will, und das noch weniger, wenn ich mal mit Windows arbeite, lege ich mir einen neuen Ordner in meiner OwnCloud an. Vorteil ist, dass dieser Ordner auf allen meinen Geräten und meinem Server immer aktuell und offline verfügbar ist. Hierdrin bearbeite ich dann meine Dokumente. Auf meinem Server wiederrum verlinke ich den Ordner in der Owncloud als einzelne Version im Apache-Ordner. In dem OwnCloud-Ordner kann ich nun alles normal bearbeiten, die Dateien liegen ja auf meinem eigenen Rechner, gleichzeitig sind sie aber auch immer aktuell auf meinem eigenen Server, sodass ich sie von überall aus ansehen kann, ohne meinen Laptop dabei haben zu müssen. Der einzige, aber sehr kleine Nachteil ist, das es teilweise bis zu 5 Sekunden dauert, bis die Datei von der OwnCloud synchronisiert wurde und der Upload von größeren Dateien relativ lange dauert.

GitHub

"Aber GitHub ist doch viel besser als Entwicklungsbackend geeignet!!" mögen jetzt einige vielleicht schreien.

Ja, Git(Hub) ist gut geeignet, wenn man mit vielen Leuten an einem Projekt arbeitet oder eine ausführliche Versionierung benötigt. War bei mir aber bisher nie der Fall, also musste ich es auch noch nie einsetzten. Weiterhin ist der Nachteil, das man so den aktuellen Code nicht so gut testen kann, bei mir ist das nur ein F5 im Browser, mit Github sind es mindestens 3 Zeilen auf der Kommandozeile plus den Refresh im Browser. Wenn ich wirklich mal Projekte auf GitHub veröffentliche muss ich außerdem meistens eh irgendwelche API-Keys aus dem Code werfen. Dafür lege ich dann einen neuen Ordner an, der den Code (ohne den API-Key) enthält und pushe ihn dann jeweils immer hoch.

Mich würde jetzt nur noch interessieren, wie dein Workflow denn aussieht. Einfach in die Kommentare damit ;-)

  • # Webentwicklung
  • # PHPStorm
  • # OwnCloud
  • # Git

Du suchst die Kommentare?

Keine Sorge, die sind nicht verloren! Es dauert aber noch eine Weile, bis sie wieder zu sehen sind und du neue Kommentare hinterlassen kannst.

Netzleben ist frisch von einer alten Kirby-Website auf eine neue, Statamic-basierte Website umgezogen. Leider ist das Plugin für Kommentare mit Statamic 3 noch nicht kompatibel.