Artikel nicht mehr aktuell
Bitte schau Dir mandrasch/ddev-pull-wp-scripts an für die aktuellste Version.
Archivversion:
Update Januar 2022: Ich habe das Repository DDEV WP Groundstation überarbeitet hinsichtlich DDEV v1.18 und updraftplus aus dem Workflow entfernt. Dieser Artikel hier ist somit veraltet.
Update Oktober 2021: Ich habe einen neuen Artikel „DDEV & WordPress CLI“ veröffentlicht, dort findet sich ein Workflow ohne updraftplus-Premium-Plugin.
Veralteter Artikel-Inhalt:
In den letzten Monaten habe ich sowohl beruflich als auch privat viel mit DDEV-local gearbeitet, einer Docker-Lösung für das lokale Arbeiten mit PHP/MySQL. Der große Vorteil gegenüber Lösungen wie XAMPP oder MAMP: Die DDEV-Projekt-Container werden auf Windows, Mac und Linux ohne Unterschiede ausgeführt, die Konfiguration für die Container wird mittels einer config.yaml-Datei direkt im Projektrepository abgelegt. Diskussionen im Team, warum bei einem Team-Mitglied eine PHP-Anwendung fehlerfrei läuft und bei einem überhaupt anderen nicht, sollten somit der Vergangenheit angehören (Ein guter Beitrag, warum Standardisierung hilfreich ist, findet sich u.a. hier: „Why standardization is important to teaching web development“). DDEV-local ist Open Source.
Durch https://wp-cli.org/de/ ist es weiterhin tollerweise möglich, WordPress auf der Kommandozeile zu konfigurieren und zu verwalten. Durch DDEVs custom commands kann man diese Kommandozeilenbefehle für WordPress wiederum sehr schön als bash-Script bündeln und bereitstellen.
Ein paar kleine Workflows, die ich für WordPress erarbeitet habe, finden sich hier:
DDEV WP Groundstation (Open Source)
https://github.com/mandrasch/ddev-wp-groundstation
Viel Spaß beim Ausprobieren!
Eine kurze Randnotiz zu DDEV:
Investieren muss man jedoch etwas Zeit in das Setup, zumindest unter Windows (Dank Windows Linux Subsystem 2 ist aber auch der Mac mit seiner Unix-Basis nicht mehr zwangsläufig Windows-Rechnern überlegen. Verrückte neue Welt, wenn man bedenkt, dass Microsoft vor einigen Jahrzehnten noch massiv Linux bekämpft und Open Source verteufelt hat):
Mehr zu DDEV-local: https://www.ddev.com/ddev-local/
3 Kommentare
Hallo Matthias,
erstmal vielen Dank für den tollen Artikel und die besten Grüße nach Österreich.
Ich arbeite selbst mit DDEV, hänge aber an 2 Problemen / Fragen und evtl. hast du dafür nen Workflow:
A.)
Ich checks nicht, wie ich entweder über apache oder über ngnix (bin noch nicht so fit in Webserver Sachen), einen Proxy bzw. einen Redirect für den wp-content/uploads ordner machen kann.
Ich glaube mir fehlen dazu aber apache module.
https://coderwall.com/p/skazcg/avoid-syncing-wp-content-uploads
Benötigst du sowas bei deinem Arbeiten oder kopierst du von dem Live System eh immer alle Daten?
_
Hast du ddev schonmal als kooperative Entwicklungsumgebung aufgesetzt, d.h. auf einem Server damit DEVs gleichzeitig daran arbeiten kann und hast da Tipps oder Erfahrungswerte oder Ideen?
Ich würde mich über einen Austausch freuen.
Viele Grüße und Danke dass du dein Wissen teilst.
Hi Sebastian,
danke für Deinen Blogkommentar und das Feedback!
A) Super Frage! Derzeit ziehe ich mir das gesamte Backup runter, siehe neuer Blogartikel https://matthias-andrasch.eu/blog/2021/import-a-wordpress-site-into-ddev-ddev-pull-backwpupfile/
ODER
synchronisiere die Files via rsync, dann holt sich das Skript beim zweiten Sync nur die neuen Files.
Den zweiten Workflow für rsync wollte ich auch mal noch auf GitHub veröffentlichen (Webspace muss dann SSH supporten). Bin inzwischen von updraftplus wieder abgekommen, geht auch ohne.
Die Uploads vom Live-Server zu nutzen fände ich ebenfalls einen interessanten Weg. Ich hatte das letztes Jahr kurz überlegt, aber glaube ich wieder verworfen weil PHP dann nicht mit den Image-Files interagieren konnte.
Hast Du in deiner .ddev/config.yaml „apache-fpm“ statt nginx drin? nginx kennt keine .htaccess und ignoriert die einfach (https://ddev.readthedocs.io/en/stable/users/extend/customization-extendibility/#changing-webserver-type). Nach Änderung muss man ‚ddev restart‘ kurz ausführen.
B) Bzgl. live-Zusammenarbeit hab ich noch keine Erfahrungswerte, bisher erledige ich das über git und jede:r Dev hat seine DDEV Instanz laufen.
Mir würde jetzt spontan sowas wie https://visualstudio.microsoft.com/de/services/live-share/ oder GitPod einfallen (https://www.gitpod.io/docs/sharing-and-collaboration). Es gibt für GitPod einen Demo-Launcher: https://github.com/drud/ddev-gitpod-launcher
Falls man nur das Frontend-Dashboard für jemanden freigeben will, gibt es die Brücke über ngrok mit ddev share (https://ddev.readthedocs.io/en/latest/users/topics/sharing/), leider ist WordPress out of the box mit den Domains nicht so flexibel. Hab ich auch noch nicht ausprobiert.
Super spannende Fragen, falls du da weiterkommst, meld dich gerne! Auf Twitter kommentiert https://twitter.com/randyfay auch gern mal DDEV-bezogene Fragen und Ideen, wenn man seinen Tweet mit #DDEV versieht.
Viele Grüße!
Nach Beitragsautor
PS: Repo ist überarbeitet, ging jetzt schneller als gedacht –> https://github.com/mandrasch/ddev-wp-groundstation
Nach Beitragsautor