Ich stelle diese Frage, weil ich im Internet gesucht habe, aber keine passende Lösung gefunden habe. Eigentlich möchte ich eine Lösung, bei der mehrere Entwickler an einem einzigen WordPress-Projekt arbeiten können, ohne sich gegenseitig zu verwirren, aber da wir wissen, dass in WordPress alles in der Datenbank so gepflegt wird, wie welches Plugin aktiv ist und welches nicht.
Wenn Entwickler Plugins in ihrem lokalen Projekt installieren, als wie sie miteinander kommunizieren, sollte jeder das bestimmte Plugin oder die Plugins usw. installieren, und eine falsche Kommunikation kann die Site anderer beschädigen, wenn jeder Entwickler den Code drückt / zieht.
Sollten wir auch die Datenbank freigeben, sollten die Plugin / Themes-Einstellungen freigegeben werden, damit es zu keinen Konflikten oder kleinen Konflikten zwischen den Entwicklern kommt.
Vielen Dank
Antworten:
Git für Plugins :
composer.json
.Verwenden Sie dann Git, um
composer.json
die Änderungen im TGM-Plugin zu verwalten.Am schwierigsten ist es, die Datenbank zu synchronisieren :
Auf jeden Fall sollten wir die Datenbank gemeinsam nutzen. Das Neukonfigurieren von Plugin-Einstellungen / -Optionen ist keine gute Idee.
Es gibt viele kostenlose und Premium- Plugins , die helfen können.
Wenn Sie etwas manuell ausprobieren möchten, fügen Sie wp-cli mit der Antwort von @Wyck ein.
quelle
Mein Team hatte ein ähnliches Problem. Wir verwenden git, um unseren eigenen benutzerdefinierten Code wie Plugins und das von uns geschriebene Thema zu versionieren. Wir verwenden Composer , um Abhängigkeiten wie Plugins zu verwalten, die wir nicht geschrieben haben. Wir überprüfen die Dateien composer.json und composer.lock in git, um alle synchron zu halten. Von jedem Entwickler wird erwartet, dass er den Git-Master-Zweig
composer update
zieht und regelmäßig auf seinen Playpens läuft, damit jeder auf dem neuesten Stand bleibt.In der Datenbank kümmern sich die Entwickler hauptsächlich um die Konfiguration, und wir verwenden häufig WP-CLI , um die Konfiguration synchron zu halten. Zum Beispiel haben wir ein Shell-Skript, das einen WP-CLI-Befehl zum Aktivieren oder Deaktivieren von Plugins auf Hostbasis ausführt. Einige Plugins werden beispielsweise nur auf unserem Content-Staging-Host verwendet, sodass das Skript auf jedem Host ausgeführt werden kann und nur den entsprechenden Satz auf diesem Host aktiviert. Einige Konfigurationen, deren Skripterstellung zu zeitaufwändig ist, werden nur dokumentiert und bei Bedarf manuell reproduziert.
Wir haben auch ein Perl-Skript, das die Datenbank vollständig von unserem Content-Staging-Server auf einen QA- oder Dev-Host klont. Die Entwickler können dies regelmäßig verwenden, wenn sie den gesamten aktuellen Inhalt benötigen, obwohl dies normalerweise weniger wichtig ist als der Code und die Konfiguration. Das Skript führt folgende Aufgaben aus:
Es gibt einige vielversprechende Lösungen für die eigentliche Versionierung der Datenbank, die schnell verfügbar sind. VersionPress und Mergebot sind die beiden, die ich kenne, und es kann auch andere geben.
Ich habe weitere technische Details darüber, wie wir WordPress für die Arbeit mit Git und Composer eingerichtet haben, in meinem Blog geschrieben. Es war notwendig, mit WordPress Core in einem eigenen Verzeichnis zu laufen, um eine saubere Trennung zwischen dem Code, den wir in Git und WordPress Core beibehalten wollen, zu erreichen. Wir behandeln WordPress selbst als eine Abhängigkeit und verwalten es mit Composer.
quelle
Die beste Lösung, die ich dafür gesehen habe, ist die Verwendung von Bedrock ( https://roots.io/bedrock/ ).
Die anderen Antworten auf diese Frage (Composer und etwas zum Verwalten Ihrer Plugins) sind gute Antworten. Bedrock bietet jedoch eine systematisierte, unterstützte, dokumentierte und kontinuierlich verbesserte Methode, die Sie vorziehen, Ihre eigenen zu rollen.
Denken Sie auch daran, dass Sie mehr als ein Git-Repo haben können - eines für Ihr Thema, eines für jedes von Ihnen entwickelte benutzerdefinierte Plugin und eines für die eigentliche Installation von Bedrock / Wordpress.
quelle
Wenn es absolut notwendig ist, dass Sie dieselben Plugins für das Thema oder ein benutzerdefiniertes Plugin installiert haben, würde ich auch die Datenbank freigeben.
Wir verwenden Git und Composer , um die verschiedenen Entwicklungsumgebungen auf dem neuesten Stand zu halten. Ziehen Sie einfach die neuesten Änderungen und führen Sie den Composer erneut aus, und schon kann es losgehen.
quelle
Dazu müssen wir zunächst die Verzeichnisstruktur von WordPress verstehen. Die Verzeichnisstruktur von WordPress ist nicht besonders benutzerfreundlich
git
. Daher würde ich Ihnen empfehlen, dies mit einer ehergit
freundlich modifizierten Architektur zu verwenden. Nein, kein Grund zur Panik. Sie müssen dies nicht unbedingt erstellen. Es gibt viele dieser Arten von Kesselplatten oder strukturierten WordPress-Systemen. Wählen Sie einfach einen aus und beginnen Sie mit dem Codieren.Kommen Sie nun zu dem Punkt, an dem Sie gut organisierten Code oder verwaltbaren Code schreiben. Wir setzen unseren Code tatsächlich auf
wp-content\themes\your-theme
oderwp-content\themes\your-theme
. In den meistengit
benutzerfreundlichen WordPress-Versionen ist daswp-content
Teil also getrennt. Und meistens ziehen sie das WordPress-Repo durchcomposer
. Es macht das gesamte Projekt viel sauberer.Die Plugins-Synchronisierung ist ein weiterer wichtiger Teil. Es wäre besser, wenn Sie Ihr Plugin durch installieren
composer
. Es macht den Projektcode viel sauberer. Hier erhalten Sie einen Überblick über die Installation von WordPress-Pluginscomposer
.Kommen wir nun zum wichtigsten Teil, wie die Datenbank synchronisiert wird. Ich denke, es könnte auf zwei Arten einfacher gemacht werden -
Hoffe das hilft dir.
quelle