Contao-Camp 2024
Ergebnis 1 bis 13 von 13

Thema: Contao Workflow – local to remote

  1. #1
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    500

    Standard Contao Workflow – local to remote

    Hi,

    heute mal eine etwas allgemein gehaltenen Frage:
    Wie sieht euer Contao-Development-Workflow aus?

    Hier ist meiner in groben Zügen:

    1) Erstellung einer lokalen Contao-Installation mit MAMP (https://www.mamp.info)
    2) Befüllung der lokalen Installation mit einigen grundlegenden Inhaltselementen und Modulen
    3) Erstellung des Themes mit Visual-Studio-Code und den Chrome-DevTools.
    4) Erstellung einer Contao-Installation am Remote-Server
    5) Transfer der lokalen Datenbank auf den Server (phpMyAdmin)
    6) Synchronisierung der "templates" und des "theme" per FTP-Transmit (https://panic.com/transmit/).

    ... funktioniert soweit so gut

    Doch nun möchte der Kunde das Logo um 10px größer.
    D.h. für mich:

    1) Änderung lokal machen
    2) Erneute Synchronisierung per FTP-Transmit

    ... und genau dieses ewige Synchronisieren ist das, was mir dann manchmal gehörig auf die Nerven geht


    Wie macht ihr das?
    Ich nehme an da gibts effizientere Lösungen die ich verschlafen habe.


    Danke für euren Input!

  2. #2
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich arbeite ähnlich, nur noch zusätzlich mit Versionierung (git) bei der Theme-Entwicklung.
    Manchmal läuft nur die reine Themeentwicklung lokal ab, während Contao selbst auf meinem Entwicklungsserver liegt oder später dann beim Kunden.
    Dann habe ich nur eine Dateisynchronisation bei Themeanpassungen.
    Ich wollte schon immer Mal ein "echtes" Deployment wie Magallanes einführen, aber irgendwie ist das bis jetzt immer noch liegen geblieben.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  3. #3
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von thesweetg Beitrag anzeigen

    ... und genau dieses ewige Synchronisieren ist das, was mir dann manchmal gehörig auf die Nerven geht

    Warum eigentlich gerade bei den Themedateien ist das doch fix gemacht.
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  4. #4
    Contao-Nutzer
    Registriert seit
    24.08.2018.
    Ort
    Magdeburg
    Beiträge
    131

    Standard

    Zitat Zitat von thesweetg Beitrag anzeigen
    ... und genau dieses ewige Synchronisieren ist das, was mir dann manchmal gehörig auf die Nerven geht
    Wenn du es im CSS anpasst, musst du effektiv doch nur eine Datei hochladen...? Da hilft nur ein Auto-Deploy

  5. #5
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    500

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Warum eigentlich gerade bei den Themedateien ist das doch fix gemacht.
    Danke für deinen Input.

    Mit dem "ewiges Synchronisieren" meinte ich folgendes:
    Wenn bspw. der Kunden eine Änderung am Theme haben möchte (an den CSS-Files oder an den Templates), dann mache ich diese Änderungen lokal.
    Die lokale Version kann der Kunde jedoch nicht sehen – außer er steht bei mir im Büro
    D.h. ich muss die CSS-Files/Templates wieder per FTP mit der Online-Version synchronisieren.
    Dass wiederholt sich dann bei jeder Änderung ...

    Toll wäre wenn ich sowas wie eine automatische Synchronisation der CSS-Files/Templates aktivieren könnte:
    - ich ändere bei meiner lokalen Installation eine CSS-Datei
    - beim Speichern dieser Änderung im Editor wird die Datei sofort automatisch hochgeladen/synchronisiert

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    33.896
    Partner-ID
    10107

    Standard

    Wir verwenden Deployer.

  7. #7
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich arbeite da nur halb-automatisch.
    • Verbindung mit dem Server über winscp
    • Wechsel zum Pfad-mit-den CSS-Dateien (lokal und remote)
    • "Entferntes Verzeichnis aktuell halten" anklicken
    • Änderungen lokal durchführen
    • der Kunde kann die Änderungen sofort begutachten
    • ich kann dann nach seinen Wünschen weitere Änderungen vornehmen

    Ich arbeite lokal mit scss und gulp. In Contao wird nur eine resultierende css-Datei eingebunden.

    Analog natürlich bei Templateanpassungen oder js-Änderungen.
    Geändert von mlweb (09.09.2020 um 14:33 Uhr)
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




  8. #8
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Dann nenne ich mal noch Prepros. Ist aber sehr komfortabel, kompiliert, minified, lädt die Files hoch und kann auch HotReload.
    Grüße, Stefko

  9. #9
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    500

    Standard

    Zitat Zitat von mlweb Beitrag anzeigen
    Ich arbeite da nur halb-automatisch.
    • Verbindung mit dem Server über winscp
    • Wechsel zum Pfad-mit-den CSS-Dateien (lokal und remote)
    • "Entferntes Verzeichnis aktuell halten" anklicken
    • Änderungen lokal durchführen
    • der Kunde kann die Änderungen sofort begutachten
    • ich kann dann nach seinen Wünschen weitere Änderungen vornehmen

    Ich arbeite lokal mit scss und gulp. In Contao wird nur eine resultierende css-Datei eingebunden.

    Analog natürlich bei Templateanpassungen oder js-Änderungen.
    Die Funktion "Entferntes Verzeichnis aktuell halten" klingt sehr interessant.
    Hab mir jetzt mal die Mac-Version von dieser FTP-Clientsoftware installiert – vielleicht gibts die Funktion ja auch dort.
    Danke für den Tipp.

  10. #10
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    500

    Standard

    Zitat Zitat von Stefko Beitrag anzeigen
    Dann nenne ich mal noch Prepros. Ist aber sehr komfortabel, kompiliert, minified, lädt die Files hoch und kann auch HotReload.
    Danke für den Tipp – macht einen super Eindruck.
    Hab mir die Testversion installiert und das Ganze gleich mal mit einem Contao-Projekt probiert.

    Die Vorschau im Browser hab ich hinbekommen – nur den File-Watcher kapiere ich nicht ganz:
    Ich möchte dass nur die Datei "bar.css" (ich arbeite bei dem Projekt ohne SCSS) überwacht wird.
    Wenn ich mit der rechten Maustaste auf diese Datei klicke und "Watch File for Changes" auswähle, werden sofort alle Dateien für die Überwachung aktiviert.
    ... das führt dazu dass Prepros abschmiert oder manchmal eine Warnmeldung ausgibt (Limit erhöhen).

    Hier ein Screenshot dazu:
    Bildschirmfoto 2020-09-09 um 16.45.01.png

    @Stefko: Weißt du was ich da falsch mache?

  11. #11
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    771
    User beschenken
    Wunschliste

    Standard

    Moin,

    wenn ich bei Prepros ein neues Projekt anlege, lasse ich idR nur das Theme-Verzeichnis überwachen und nicht die komplette Contao-Installation.
    Wenn Du auf eine Datei klickst, sollte sich rechts ein Bereich öffnen, in dem Du einstellen kannst was mit der Datei passieren soll, bzw. wie sie behandelt werden soll.
    Rechts oben ist so ein Burger-Icon, dort kannst Du "Projekt-Settings" auswählen und dort auch Dateien oder ganze Verzeichnisse ausschließen.

    Da musst Du mal ein wenig "rum probieren". Ich erinnere mich, dass ich am Anfang auch etwas brauchte, bis ich die (für mich) ideale Konfig gefunden hatte.

    Grüße,
    Stefko
    Grüße, Stefko

  12. #12
    Contao-Fan Avatar von ph!L
    Registriert seit
    04.11.2009.
    Ort
    Internet
    Beiträge
    399

    Standard

    Ich schmeiße auch noch mal einen weiteren Prozess in die Runde:

    Lokal:
    Contao lokal installieren
    git-Repo für das Theme anlegen und alle Theme relevanten Dateien dort einfügen
    Repo ins Contao-Verzeichnis führen lassen, so dass Änderungen dort im git landen

    Staging-Server:
    Kopie der lokalen Installation hochladen
    Datenbank hochladen und parameters.yml anpassen
    Nun ebenfalls das git-repo anbinden und automatisch pullen lassen – Am besten auf einen "dev" Branch

    -> Deployment von lokal auf Stage: git commit auf "dev" branch – fertig

    Live-Server:
    Wie Staging, aber auf den master branch und dann ggf. nicht automatisch pullen lassen, sondern nur manuell

    -> Deployment von lokal auf live: Änderungen aus dem dev-branch in den master-Branch mergen. Dann ggf. manueller pull auf dem live Server (am besten natürlich, nachdem man sich auf dem Stage davon überzeugt hat, dass alles läuft)

    Ist für die einfache und typische Theme-Entwicklung meiner Meinung nach der einfachste Prozess, der durch die Einbindung von git auch noch Versionierung beinhaltet.

    Wenn man die Kommandozeile nicht so gerne benutzt (wie ich), hat man vielleicht Glück und eine GUI für git auf dem Server (Plesk z.B.), die einem das einrichten, pullen etc. einfach macht.

  13. #13
    Contao-Nutzer Avatar von cgpro
    Registriert seit
    02.07.2009.
    Ort
    München
    Beiträge
    218
    Partner-ID
    11108
    User beschenken
    Wunschliste

    Standard

    Mit Github ist das leicht über die Hooks lösbar:
    https://gist.github.com/noelboss/3fe...8fb12e9066f2fa

    Ansonsten kann man das mit Atlassian Bamboo schön zusammenklickern für automatische Deployments. Ich betreue das z.B. bei größeren Kunden mit Bamboo und Docker. Commits anhand JIRA-Tickets können dann individuell mit Webpack in das entsprechende Sprint-Release gebuilded werden (Frontend). Das Ganze geht aber auch mit Backendfeatures, dann muss nur der entsprechende Gitbranch von Bitbucket übernommen werden, dann kommt nur das ins Release was auch getestet im Sprint fertig ist.

    Ich glaub da gibts Workflows wie Sand am Meer :-).

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •