Skip to content

Instantly share code, notes, and snippets.

@MadeMyDay
Last active August 29, 2015 13:57
Show Gist options
  • Save MadeMyDay/9617254 to your computer and use it in GitHub Desktop.
Save MadeMyDay/9617254 to your computer and use it in GitHub Desktop.
Wie macht man ein sinnvolles Deployment, wenn man primär auf normalen Webhosting-Angeboten arbeitet?

Meine Vorgehensweise bisher:

Ich nutzte immer Livereload bzw. Prepros bzw. Codekit. Ob lokal oder entfernt war egal, der Kunden-Webspace wurde als Laufwerk per Transmit eingebunden und das hat relativ gut funktioniert (also Änderungen an z.B. Stylus-Dateien wurden processed, .css wurde geschrieben, Browser hat sich automatisch aktualisiert bzw. den neuen Stand angezeigt).

Gulp

Jetzt habe ich gulp mal ausprobiert (hätte auch grunt sein können), finde ich natürlich super, will ja auch ein cooles Kid sein. Aber es macht eben auch mehr als Prepros bzw. ich habe mehr Kontrolle. Soweit so gut. Die Frage ist, wie kann ich das bewerkstellingen, wenn mein Workflow so aussieht:

  1. Entwicklung Prototyp lokal (eigentlich lieber auch gleich auf eigenem/Kundenwebspace, der kein node hat).
  2. Aus diesem Prototypen werden nach Abnahme Templates für das CMS. Zu diesem Zeitpunkt liegt das Projekt definitiv "entfernt". Der Kunde (oder auch ich) pflegen schon Inhalte ins CMS ein, weitere Templates werden mit diesen Inhalten erstellt, quasi "live"auf dem Server. Ich sehe hier keine Möglichkeit, lokal zu entwickeln und etwas zu deployen, da die zugrunde liegenden Daten entfernt sind. Ich müsste also entweder den Stand des CMS auf lokal syncen, dann lokal entwickeln und wieder deployen oder ich verabschiede mich generell von dem Gedanken, grunt/gulp etc. in meinen Entwicklungsprozess zu integrieren.

Was ich gerne hätte:

Im Prinzip die Möglichkeit, den entfernten (Template-)Ordner wie bisher lokal einzubinden und die gulp-tasks darauf ausführen können und irgendwie die Vorschau/den Reload zu triggern. Funktioniert aber nicht wie gehofft, habe ich ausprobiert. Node-Module lassen sich zwar teilweise auch auf diesem Netzlaufwerk installieren, bricht aber irgendwann mit Fehlern ab, vermutlich ist einfach die Schreib/Lesegeschwindigkeit zu niedrig.

Eventuell geht irgendwas in Richtung Webspace wie bisher als Laufwerk einbinden und den betreffenden Ordner rsyncen? Oder irgendwie symlinken? Ich weiß doch auch nicht ;-)

@MadeMyDay
Copy link
Author

Danke Ihr zwei. Das ist doch schonmal eine Idee. Die Dateien werden in das eingebundene Laufwerk kopiert. Das mit dem Livereload ist so ne Sache. Das was Du da verlinkt hast, Frederic, habe ich schonmal probiert, lief bei mir auf dem Mac nicht ("chrome" in allen Variationen wurde nicht gefunden). Habe jetzt gulp-livereload, das super funzt. Da das ein Chrome-Plugin ist, könnte/sollte es eigentlich auch auf diese Änderung der Live-Site "hören".

@matthias: Jau, nur ist die Frage, wo der Reload ins Spiel kommt. Werde es probieren.

@fhemberger
Copy link

Mit Gulp hab ich das noch nicht ausprobiert (klappt 'Google Chrome' bzw. 'Google\ Chrome' nicht?).
Für Grunt gibts sonst noch https://github.com/gruntjs/grunt-contrib-connect, falls das ne Alternative wäre.

@MadeMyDay
Copy link
Author

Nicht sicher ob ich die "escapte" Version probiert habe. "Google Chrome" ging nicht. Will try, thx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment