Moderner WordPress-Workflow für Profis Gründe

Hier auf Wptuts + haben wir eine Reihe verschiedener Workflows behandelt, die die Leute bei der Entwicklung für WordPress verwenden. WAMP unter Windows, MAMP unter Mac oder XAMPP für beide. Heute werden wir einige Probleme mit diesen Methoden erklären und Ihnen einen neuen Ansatz zeigen.


Das Problem

Die meisten Live-Websites laufen auf einem Remote-Webserver, auf den Sie über ein Hosting-Paket zugreifen können. Sie möchten jedoch nicht auf einer Remote-Maschine entwickeln. Es ist viel einfacher und sicherer, auf einem lokalen Computer zu entwickeln, auf den Sie direkten Zugriff haben, und den Code dann auf dem Remote-Server bereitzustellen.

Die meisten Remote-Webserver führen ein Betriebssystem aus, das speziell für Server vorgesehen ist. Dies kann eine Linux-Variante sein, wie z. B. CentOS, Microsoft Windows Server oder sogar Apples OS X Server. Sie führen auch Webserver-Software wie Apache, Nginx oder IIS sowie Datenbank-Server-Software wie MySQL, PostgreSQL oder Microsoft SQL aus. Dann gibt es verschiedene andere Dinge, die möglicherweise verfügbar sind oder nicht, wie PHP-, Python- oder Ruby-Interpreter und eine Vielzahl anderer Dinge.

Die überwiegende Mehrheit dieser Dinge ist nicht die Art von Software, die Sie auf einem normalen Laptop oder Desktop-Computer finden. Die oben genannten WAMP-, MAMP- oder XAMPP-Dateien helfen dabei, die für WordPress-Entwicklung erforderlichen Apache-, MySQL- und PHP-Komponenten dort zu installieren, aber es gibt auch die verschiedenen anderen Teile und Teile, die nicht unbedingt verfügbar sind, ganz zu schweigen vom Betriebssystem selbst (Betrieb eines Servers) System ist nicht praktisch).

Idealerweise möchten Sie jedoch in einer Umgebung entwickeln, die der des Web-Servers, auf dem Sie bereitstellen müssen, nahe kommt. Es macht einfach Sinn. Sie wissen, was verfügbar ist / nicht, und Sie wissen, dass alles "nur funktionieren" sollte.

Wie bekommen Sie Ihre Entwicklungsumgebung (lokaler Computer) genauso wie Ihre Produktionsumgebung (Remote-Computer)??


Eine virtuelle Lösung

Jetzt können Sie immer einen anderen Computer kaufen, an den Sie Ihr Netzwerk anschließen können, Linux, Apache, MySQL und PHP installieren und als Entwicklungsumgebung verwenden. Aber das kostet Geld und was passiert, wenn Sie von einem anderen Standort aus etwas entwickeln müssen? Der Plan hat sich aufgelöst.

Glücklicherweise gibt es einige Genies, die Software entwickelt haben, die einen Computer emulieren kann. Sie können dann ein Betriebssystem und eine Software auf dieser "virtuellen Maschine" installieren und sogar mit Ihrem Netzwerk verbinden.

Verstand. Geblasen.


Eine solche Software ist VirtualBox, es gibt auch andere wie VMWare und Parallels.

Sie können also eine virtuelle Maschine verwenden, auf der genau dieselbe Software ausgeführt wird wie auf der Remote-Maschine, auf der Sie später bereitstellen. Während des Betriebs werden Ressourcen Ihres Laptops oder Desktop-Computers verwendet, wie z. B. CPU-Leistung, Arbeitsspeicher, Festplattenspeicher usw. In Websites werden jedoch normalerweise weniger Ressourcen als bei modernen Laptops und Desktops zur Verfügung gestellt. Dies ist also kein Problem.

Was passiert nun, wenn Sie mehrere Remotecomputer für verschiedene Clients oder Projekte bereitstellen und unterschiedliche Setups haben? Glücklicherweise können Sie so viele verschiedene virtuelle Maschinen verwenden, wie Sie möchten! Eine für jedes Projekt, falls erforderlich.

Natürlich werden viele virtuelle Maschinen auf Ihrem Laptop oder Desktop Ihren Tribut fordern. Sie müssen bei jedem Einrichten die erforderliche Software durchlaufen und installieren, und sie beanspruchen alle Speicherplatz auf der Festplatte. Nach einer Weile werden Sie feststellen, dass sie etwas unhandlich wird. Sie können virtuelle Maschinen immer löschen, wenn Sie mit einem Projekt fertig sind. Wenn das Projekt jedoch wiederhergestellt wird oder der Client für mehr Arbeit zurückkommt, müssen Sie den Vorgang des Neueinrichtens erneut durchführen.

Vielleicht gibt es eine Möglichkeit, dies besser zu bewältigen?


Landstreicher


Betritt Vagrant. Vagrant ist eine Software, mit der Sie in ihren Worten "leichte, reproduzierbare und tragbare Entwicklungsumgebungen erstellen und konfigurieren" können.

Hört sich gut an, richtig?

Vagrant verwaltet die virtuellen Maschinen für Sie. Die integrierte VirtualBox-Unterstützung wird unterstützt. Sie können auch Unterstützung für VMWare hinzufügen.

Alles, was Sie tun müssen, ist, eine Vagrant-Konfigurationsdatei in Ihrem Projekt zu erstellen, und dies teilt Vagrant mit, welche virtuelle Basismaschine verwendet werden soll (welches Betriebssystem usw.), welche Software installiert werden muss, und Vagrant erstellt diese dann für Sie! Wenn Sie das Projekt abgeschlossen haben, können Sie den Computer löschen. Wenn Sie ihn jedoch erneut benötigen, erstellt Vagrant die Software mit derselben Software für Sie neu.


Lassen Sie uns WordPress-spezifisch erhalten

Hoffentlich habe ich Sie zumindest teilweise verkauft mit der Idee, eine virtuelle Maschine für Ihre Entwicklungsumgebung zu verwenden, und Vagrant zu verwenden, um dies zu vereinfachen. Die WordPress-Entwicklung wurde bisher noch nicht speziell erwähnt.

Guter Punkt! Aber ich werde das für den zweiten Teil aufheben. Wir haben die Gründe hinter "warum" behandelt, und beim nächsten Mal werde ich Sie durch das Setup führen, und ich bin sicher, Sie werden komplett verkauft!