Was ist eine gute Möglichkeit, einen Entwicklungs-, Staging- und Produktionsworkflow mit WordPress einzurichten

Lesezeit: 5 Minuten

WordPress stellt einige Herausforderungen dar, da es dazu neigt, zu viel in der Datenbank zu behalten, was es schwierig macht, von Server zu Server zu wechseln.

Auf welche anderen Probleme sollte man achten?

Wie sah Ihr Arbeitsablauf aus?

  • Solltest du das nicht fragen wordpress.stackexchange.com ?

    – Graviton

    22. September 2010 um 4:32 Uhr

  • wusste nicht, dass es existiert 🙂 danke.

    – Alex N.

    22. September 2010 um 13:04 Uhr

Benutzeravatar von TheDeadMedic
Der tote Sanitäter

Ich habe eine einzelne WordPress-Installation eingerichtet, um mehrere Domains auf meinem Entwicklungsserver zu betreiben. Plug-in- und Theme-Dateien werden ebenfalls geteilt, sodass das Upgraden mit nur einem Klick möglich ist alle Blogs.

Ich verwende Apache VirtualHosts, um mehrere Domänen demselben Dokumentenstammverzeichnis zuzuordnen, und streue ein wenig Magie in die Hauptsache wp-config.php dynamisch einzustellen DB_NAMEbasierend auf dem aktuellen Host (ich kann den Code posten, wenn Sie möchten).

Für die lokale Arbeit habe ich nur einen MySQL-Benutzer mit Root-Rechten und verwende ihn für alle meine Datenbanken (nicht empfohlen auf einem Produktionsserver!).

Meine lokalen Domänen werden entsprechend benannt real Domains, aber mit einer gefälschten TLD. Also arbeiten mit example.comhabe ich einen VirtualHost eingerichtet example.dev.

Wenn ich bereit bin, live zu gehen, verwende ich HeidiSQL um dann eine Kopie der Entwicklungsdatenbank zu erstellen alle Vorkommnisse ersetzen von example.dev mit example.com.

Die kopierte Datenbank ist jetzt bereit für die Produktionsinstallation. Spiegeln Sie Ihre lokale WordPress-Installation auf dem Produktionsserver (kopieren Sie Plugins, Uploads und Themes) und verwenden Sie entweder HeidiSQL (empfohlen) oder phpMyAdmin, um die vorbereitete Datenbank zu importieren.

AKTUALISIEREN

Natürlich, wenn Sie Änderungen an einem vornehmen und dann alles auf den anderen kopieren, dann Sie werden alle Änderungen verlieren Sie hatten auf der anderen Seite gemacht. Das gilt nicht nur für WordPress, sondern für fast alles andere im Leben selbst!

Wenn ich jemals größere Änderungen vornehmen muss, sobald die Website live ist (und mit erheblich meine ich Änderungen, die sollten nicht auf einem Produktionsserver ausgeführt werden), führe ich den umgekehrten Vorgang des obigen Vorgangs durch (kopiere alles von der Produktion in die Entwicklung), nehme die Änderungen vor und mache dann das Gegenteil noch einmal.

  • Wie gehen Sie mit der Erstellung neuer Seiten und Konfigurationseinstellungen um, die in der Datenbank gespeichert sind?

    – Dummkopf

    4. Juni 2010 um 17:13 Uhr

  • Im Moment ist jede Website, die ich erstelle, nur eine neue Datenbankinstallation. Ich schätze, ich könnte ein Plugin schreiben, um einige allgemeine Einstellungen stapelweise zu verarbeiten, aber jede Site unterscheidet sich normalerweise sehr von der anderen – die Seitenstruktur ist beispielsweise nie gleich, und ich füge einfach Seiten und Beiträge hinzu und bearbeite sie so, wie Sie es normalerweise tun WP.

    – Der tote Sanitäter

    5. Juni 2010 um 13:34 Uhr


  • Ich meine, wenn Sie eine Seite auf Ihrem Dev-Server erstellen und dann die Dev-Datenbank mit der Live-Datenbank neu synchronisieren, verlieren Sie diese Seiten.

    – Dummkopf

    6. Juni 2010 um 2:07 Uhr

  • Warum gehen die Seiten verloren, wenn Sie sie erneut synchronisieren? Bei der erneuten Synchronisierung wird lediglich Ihre Dev-Installation mit der Methode in meiner Antwort in die Produktion kopiert.

    – Der tote Sanitäter

    6. Juni 2010 um 10:28 Uhr

  • Denn die Seiten werden in der Datenbank gespeichert. Wenn Sie also den Code einfach verschieben, werden die Seiten nicht angezeigt. Wenn Sie die Datenbank verschieben, verlieren Sie Ihren Inhalt. Wenn Sie umgekehrt vorgehen, werden Sie auch die Seiten in Ihrer Entwicklerdatenbank löschen.

    – Dummkopf

    6. Juni 2010 um 13:33 Uhr

Benutzeravatar von Chris_O
Chris_O

Dieselbe Frage wurde gestellt und beantwortet WordPress.stackexchange. Es enthält detaillierte Informationen und Best Practices für eine schnelle Bereitstellung von der Entwicklung bis zur Produktion.

Bearbeiten

Dies ist die gleiche Antwort, die ich bei WordPress Answers hinzugefügt habe.

Es gibt vielleicht bessere Möglichkeiten, die ich vermisse, aber ich werde Ihnen 2 Möglichkeiten geben:

1.Verwenden Sie den XML-Export, um Ihre neuen Posts und Kommentare zu exportieren. Verwenden Sie dann den WordPress-Importer, um die neuen Beiträge und Kommentare wieder in die Entwicklerdatenbank zu importieren

Es ist am besten, in dev zu importieren und dann die Datenbank in die Produktion zu verschieben, da beim Importieren alle neuen Mediendateien aus der Produktion heruntergeladen werden.

In der Zwischenzeit hat sich die Produktion geändert (neue Beiträge, neue Kommentare usw.)

Dies würde Ihr Problem lösen, geänderte Inhalte einzubringen.

2. Verwenden Sie den Befehl INSERT IGNORE INTO MySql, um die neuen Tabellen von dev hinzuzufügen. oder den Befehl REPLACE, um doppelte Zeilen in derselben Tabelle zu überschreiben.

Bevor Sie MySql verwenden, erstellen Sie ein Backup beider Datenbanken und verschieben Sie die gz-Datenbank auf den Produktionsserver und laden Sie den Dump hoch (ändern Sie den Namen von dev, wenn er mit production identisch ist.

INSERT IGNORE INTO `_wp_production_db`.`wp_cool_plugin_options`
SELECT *
FROM `_wp_dev_db`.`wp_cool_plugin_options`

Ich bin mit MySQL-Befehlen nicht vertraut, also würde ich mich für Option 1 entscheiden.

  • Meine Güte, ich wusste nicht einmal, dass es existiert (wordpress.stackexchange) … danke!

    – Alex N.

    22. September 2010 um 13:03 Uhr

  • Diese Antwort deckt jedoch nicht wirklich die eigentliche 2-Wege-Synchronisation ab, die Mr.blockhead oben erwähnt hat. Das interessiert mich auch am meisten.

    – Alex N.

    22. September 2010 um 13:10 Uhr

Benutzeravatar von John Doeherty
John Doeherty

Ich habe Development Site auf meinem lokalen Rechner und ändere die lokale Hosts-Datei so, dass Aufrufe an den Live-Server (www.example.com) auf den localhost verweisen. Auf diese Weise funktionieren alle Aufrufe externer Dateien (jquery usw.) weiterhin und ich muss nicht durch die Datenbank gehen, um etwas zu ändern. Das Ex- und Importieren der Inhalte über das WordPress-XML hat mir die besten Ergebnisse gebracht.

AKTUALISIEREN:
Ich habe benutzt http://www.mertyazicioglu.com/projects/wordpress-move/ und gute Ergebnisse erzielt.

JD

Wenn Sie phpMyAdmin installiert haben, sollte das Verschieben von WordPress-Sites von Server zu Server überhaupt kein Problem sein. Exportieren Sie einfach die Datenbank in eine tar.gz-Datei und kopieren Sie Ihr benutzerdefiniertes Design (falls Sie eines verwenden) per FTP und laden Sie dann, nachdem Sie eine neue DB und einen frischen WordPress-Dump erstellt haben, beide erneut auf den neuen Server hoch. 2 Änderungen an der Home- und Blog-URL in der Datenbank und 2 Änderungen an der wp-config-Datei und fertig.

Eine Sache, mit der ich Probleme hatte, sind Plugins von Drittanbietern. Am Ende programmiere ich viele Galerien und Javascript-Widgets selbst, weil die Plugins von Drittanbietern entweder wie Mist aussehen, langsam sind oder nicht so funktionieren, wie ich es möchte. Gott sei Dank für JQuery.

1402450cookie-checkWas ist eine gute Möglichkeit, einen Entwicklungs-, Staging- und Produktionsworkflow mit WordPress einzurichten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy