Advertisement
  1. Code
  2. Web Development

Einrichten einer Staging-Umgebung

by
Read Time:18 minsLanguages:

German (Deutsch) translation by Valentina (you can also view the original English article)

Es ist gängige Praxis, lokal an einem Projekt zu arbeiten und Revisionen auf einen Produktionsserver zu übertragen. Der Schritt, den Benutzer häufig überspringen, ist jedoch der Staging-Server. Ein Staging-Server ist eine Mischung aus Produktion und Entwicklung. Sie können Ihre App testen, als wäre sie in Produktion. Sehen wir uns einige der Probleme an, die Sie berücksichtigen müssen, sowie die Schritte, die zum Replizieren einer Produktionsplattform als Service(PAAS) erforderlich sind.

Es ist mehr als einmal passiert: Ich schiebe eine Revision meiner App in die Produktion, nur um ein Problem zu finden, nachdem es öffentlich ist. Diese Probleme können so einfach sein wie das Vergessen, Bilder zu Ihrem Repository hinzuzufügen, oder so groß wie das lokale Ändern der Datenbankstruktur und das Vergessen, die Produktionsdatenbank zu aktualisieren. Probleme treten bei allen auf, insbesondere wenn Sie Termine überstürzt haben. In diesen Situationen ist es eine gute Idee, eine Staging-Umgebung einzurichten. Die Idee ist, einen Server zu haben, der die Produktionsumgebung genau repliziert, um Ihre App vor der Veröffentlichung zu testen.

Staging-Umgebungen erfassen nicht nur menschliche Fehler, sondern auch softwarebezogene Probleme.

Sie können diese Probleme finden und beheben, da der Staging-Bereich dieselbe Software wie Ihre Produktionsumgebung enthält. Dies steht in krassem Gegensatz zu Ihrem lokalen Computer, auf dem möglicherweise unterschiedliche Softwareversionen (z. B. PHP 5.3 oder PHP 5.4) oder sogar unterschiedliche Funktionen installiert sind. Ich habe Code mit Aufrufen von file_get_contents gesendet, nur um festzustellen, dass der Produktionsserver diese Funktion nicht unterstützt.

Wie richten Sie einen Staging-Server ein? Nun, der erste Schritt ist eine kleine Aufklärung.


Es steckt alles im Detail (meistens)

Probleme treten bei allen auf, insbesondere wenn Sie Termine überstürzt haben.

Das Erstellen einer Staging-Umgebung ist spezifisch für Ihre Produktionsumgebung. Es gibt keine magische Lösung, die in jeder Situation funktioniert. Aber die meisten Fälle folgen einem ähnlichen Muster, und ich werde im weiteren Verlauf alle wichtigen Punkte behandeln.

Es ist fair anzunehmen, dass die meisten Leute ihre Apps mit einem Versions-Tool (wie GIT) bereitstellen. Bei der Gelegenheit, dass Sie an einem alten Projekt arbeiten, das noch FTP verwendet, können Websites wie ftploy.com oder deployHQ.com als Puffer zwischen GIT und Ihrem Server fungieren. Jeffrey Way hat ein informatives Video zusammengestellt, in dem detailliert beschrieben wird, wie das eingerichtet wird.

Neben GIT müssen Sie über die Sprachen, Software und "besonderen" Funktionen nachdenken, die Ihre Produktionsserver bieten. Ich verwende ein PHP-basiertes PAAS namens Fortrabbit, da es aktuelle PHP-, Apache- und GIT-Unterstützung bietet. Sie bieten auch die Möglichkeit, Ihrer GIT-Festschreibungsnachricht ein Schlüsselwort hinzuzufügen, das Composer dazu veranlasst, die Abhängigkeiten Ihres Projekts zu installieren.

Dies ist das System, das ich im Rest dieses Artikels einrichten werde. Das Standard-Feature-Set sowie das spezielle Composer-Feature machen Fortrabbit perfekt für eine Vielzahl von Hosts. Denken Sie daran: Dies ist keine magische Lösung, aber die Schritte folgen demselben Muster, das Sie zum Einrichten einer Staging-Umgebung für die meisten Projekte verwenden würden. Passen Sie den Prozess an Ihre spezifischen Bedürfnisse an.

Also lassen Sie uns ohne weiteres hineinspringen.


Server erstellen

Das Erstellen einer Staging-Umgebung ist spezifisch für Ihre Produktionsumgebung.

Es gibt viele verschiedene Betriebssysteme, die Sie auf einem Server ausführen können. Fortrabbit führt Debian Squeeze auf ihren Servern aus, und da wir versuchen, sie abzugleichen, habe ich beschlossen, es auch auszuführen.

Ich werde Vagrant verwenden, um dies einzurichten. Machen Sie sich keine Sorgen, wenn Sie Vagrant noch nie verwendet haben. Wir werden nichts Fortgeschrittenes tun. Stellen Sie sicher, dass VirtualBox und Vagrant installiert sind (Vagrant ist eine CLI für VirtualBox; daher ist VirtualBox erforderlich).

Vagrant erstellt einen virtuellen Snapshot eines Betriebssystems als Basis-Box. Anschließend können Sie aus diesem Image mehrere VMs erstellen. Also müssen wir zuerst die Basisbox für Debian Squeeze herunterladen. Ich bin mir nicht ganz sicher, woher meine Kopie stammt, daher habe ich sie auf DropBox hochgeladen, damit Sie sie herunterladen und verwenden können. Öffnen Sie zum Installieren ein Terminalfenster und geben Sie Folgendes ein:

Dies fügt Vagrant die Box mit dem Namen 'debian' hinzu. Wir können jetzt eine Instanz dieser Box für unseren Staging-Bereich erstellen. Zuerst erstellen wir einen neuen Ordner:

Erstellen Sie als Nächstes die Vagrant-Konfigurationsdatei, indem Sie Folgendes eingeben:

Dadurch wird eine Konfigurationsdatei mit dem Namen "VagrantFile" erstellt, die alle Einstellungen für Ihren Server enthält. Es sieht ziemlich voll aus, wenn Sie es öffnen, aber die meisten Zeilen sind Kommentare. Sie müssen nur die Zeile auskommentieren, in der steht: config.vm.network: bridged. Wenn Sie alle anderen Kommentare löschen, erhalten Sie eine Datei, die folgendermaßen aussieht:

Diese Optionen weisen Vagrant an, eine neue virtuelle Maschine basierend auf unserer Debian Squeeze-Basisbox zu erstellen. Anschließend wird der Netzwerkmodus auf "überbrückt" gesetzt. Eine VM mit einem überbrückten Netzwerk wird Ihrem Router als neue physische Maschine angezeigt, sodass sie automatisch ihre eigene IP-Adresse abruft. Auf diese Weise können Sie von jedem Gerät in Ihrem Netzwerk aus auf das Gerät zugreifen (möglicherweise außerhalb Ihres Netzwerks, wenn Sie Ihren Router konfigurieren).

Jetzt können wir unsere VM mit dem Befehl "vagrant up" (ohne Anführungszeichen) starten.

Sie sollten die Ausgabe von Vagrant sehen, der Ihre VM erstellt. Wenn auf Ihrem Computer mehrere Netzwerkkarten mit dem Netzwerk verbunden sind, werden Sie von Vagrant aufgefordert, die zu überbrückende Netzwerkkarte auszuwählen.

Wir werden SSH verwenden, um uns anzumelden, aber wir müssen Vagrants integrierten Befehl "vagrant ssh" verwenden, um uns anzumelden. Gemäß den Best Practices von Vagrant sollten alle Boxen einen Benutzer mit dem Namen "vagrant" mit dem Kennwort haben, sowohl für root als auch für vagrant "vagrant". Der vagabundierende Benutzer wird als sudo-Benutzer hinzugefügt, der kein Kennwort eingeben muss, sodass Sie sudo-Befehle direkt verwenden können.

Fahren wir fort und richten die Software des Servers ein.


Die Software

Das Setup von Fortrabbit umfasst:

  • Apache 2.2
  • PHP 5.4
  • Composer

Darüber hinaus verwenden sie das dotdeb-Repository, um den Großteil davon zu installieren. Für Unbekannte ist dotdeb ein Projekt von Guillaume Plessis, das die aktuellsten Versionen beliebter Webserver-Pakete installiert.

Wir sind bereit zu beginnen. Stellen Sie sicher, dass Ihr Terminalfenster geöffnet und über SSH beim Server angemeldet ist. Fügen Sie zunächst das dotdeb-Repo zu APT (dem Paketmanager) hinzu, indem Sie eine neue Datei zum Verzeichnis sources.d hinzufügen:

Dadurch wird eine neue Datei mit dem Namen dotdeb.list in vim (einem Texteditor) geöffnet. Der Name ist nicht wichtig, da alle Dateien in diesem Verzeichnis in APT eingelesen werden. Wir müssen dieser Datei vier Zeilen hinzufügen. Wenn Sie VIM noch nie verwendet haben, geben Sie einfach "i" ein, um den Einfügemodus aufzurufen, und kopieren/fügen Sie die nächsten vier Zeilen ein:

Drücken Sie zum Speichern die esc-Taste und geben Sie Folgendes ein :wq. Das ist der Befehl zum Schreiben und Beenden, was im Grunde bedeutet, zu speichern und zu beenden.

Durch Drücken der Eingabetaste wird die Datei gespeichert und Sie kehren zur Befehlszeile zurück.

Wir haben jetzt die Repos hinzugefügt, müssen aber noch die Signatur hinzufügen, bevor wir sie verwenden können. Geben Sie Folgendes ein, um den GNU-Schlüssel hinzuzufügen:

Dadurch wird der Dotdeb-Schlüssel heruntergeladen und als signierte Quelle hinzugefügt. Aktualisieren Sie nun APT, um das neue Paket abzurufen, indem Sie Folgendes eingeben:

Dies kann ungefähr eine Minute dauern, aber Sie haben alle Dotdeb-Pakete in APT aufgelistet, wenn es fertig ist. Aufgrund der Einrichtung von dotdeb und des Ladens von APT-Abhängigkeiten können wir Apache und PHP gleichzeitig installieren, indem wir Folgendes eingeben:

Mit dieser einzelnen Zeile installiert und konfiguriert APT Apache2 und PHP5. Wenn Sie das Memcache-Add-On von Fortrabbit verwenden, können Sie es installieren mit:

Aber ich werde in unserem Beispiel in diesem Artikel nicht auf Memcache eingehen.

Jetzt müssen wir die von Fortrabbit verwendeten Erweiterungen installieren. Führen Sie den folgenden Befehl aus:

Das letzte, was wir installieren müssen, ist Composer. Ich werde es global installieren, da wir es an verschiedenen Orten verwenden werden. Die Befehle zum globalen Installieren von Composer lauten:

Der erste Befehl lädt das Installationsprogramm herunter und führt es aus. Der zweite Befehl verschiebt Composer in den Ordner bin, damit wir ihn verwenden können, ohne den Pfad zu deklarieren. Fahren wir mit der Konfiguration fort.


Apache einrichten

Die Chancen stehen gut, dass Sie an mehr als einem Projekt arbeiten. Wenn dies der Fall ist, verursacht ein Staging-Server für jedes Projekt viel Overhead. Um mehrere Sites auf einem einzelnen Server zuzulassen, müssen wir Apache namenbasierte virtuelle Hosts hinzufügen und Verzeichnisse und Repos für jedes Projekt trennen.

Beginnen wir mit einem virtuellen Host.

Ich werde weiterhin vim verwenden, weiß aber, dass Sie, wenn Sie in Ihren eigenen Programmen arbeiten möchten, diese entweder kopieren und einfügen oder im Ordner staging_server speichern können, den Sie auf Ihrem Computer erstellt haben.

Dieser Ordner wird für Ihre VM freigegeben, und Sie können auf die Dateien im vagrant Stammverzeichnis zugreifen. Sie können dann Folgendes verwenden: sudo cp/vagrant /file newfile oder sudo mv/vagrant/filee newfile, um die Dateien zu kopieren bzw. zu verschieben.

Um einen neuen virtuellen Host zu erstellen, müssen wir eine Datei im Verzeichnis /etc/apache2/sites-available/ erstellen. Geben Sie dazu mit VIM Folgendes ein:

Geben Sie im Inneren Folgendes ein (denken Sie daran, drücken Sie "i" für den Einfügemodus):

In der ersten Zeile wird ein virtueller Host deklariert, der auf Anforderungen an einer beliebigen IP an Port 80 wartet. Als Nächstes legen wir die Administrator-E-Mail-Adresse des Servers und den Servernamen fest. Die E-Mail dient der Fehlerberichterstattung, und die Option Servername teilt Apache mit, wann dieser virtuelle Host gelesen werden soll. Normale virtuelle Hosts arbeiten mit IPs. Zum Beispiel lauscht jeder vhost auf einer anderen IP; So unterscheidet Apache sie.

Da Sie wahrscheinlich nur eine IP haben, können wir namensbasierte virtuelle Hosts verwenden, sodass Sie auf derselben IP einen anderen Namen angeben können.

In unserem Beispiel werden alle an demo.dev gerichteten Anfragen von diesem virtuellen Host erfasst.

In der nächsten Zeile wird der Stammordner des Dokuments festgelegt. Hier ruft Apache Dateien für diesen vhost ab. Die Anweisungen in der Directory-Direktive legen Berechtigungen für diesen vhost fest. Ich werde nicht zu sehr ins Detail gehen, aber wir legen zuerst die Apache-Optionen für Verzeichnisse fest, dann legen wir fest, was in einer .htaccess-Datei überschrieben werden kann, und schließlich legen wir fest, wer auf die Site zugreifen kann (in unserem Fall jeder).

Die letzten beiden Zeilen teilen Apache mit, wie die Protokolldatei benannt und was in das Protokoll geschrieben werden soll. Unsere Protokolldatei heißt demo.log im Apache-Protokollordner unter /var/log/apache2/ auf dieser VM.

Geben Sie Folgendes ein, um diesen vhost zu aktivieren:

Dadurch wird ein Symlink zwischen der Datei im Ordner "sites-available" und einer Datei im Ordner "sites-enabled" erstellt. Nachdem Sie diesen Befehl ausgeführt haben, werden Sie aufgefordert, Apache neu zu starten. Wenn Sie versuchen, Apache neu zu starten, wird eine Fehlermeldung angezeigt, da das Verzeichnis der Site nicht erstellt wurde. Dies lässt sich leicht beheben, indem Sie den demo-Ordner erstellen, auf den wir in der vhost-Datei verwiesen haben:

Wir möchten nicht, dass der Root-Benutzer den Ordner besitzt. Ändern Sie ihn daher mit dem Befehl chown in den vagabundierenden Benutzer:

Starten Sie nun Apache neu:

Unsere neue Website sollte jetzt voll funktionsfähig sein. Unser nächster Schritt ist die Einrichtung von GIT.


Mit etwas GIT-Magie weitermachen

Stellen Sie sicher, dass Sie sich im Ausgangsverzeichnis befinden, indem Sie cd ~ eingeben. Erstellen Sie einen neuen Ordner für das Repo: mkdir demo.git, geben Sie den Ordner ein und initialisieren Sie ein neues, nacktes GIT-Repo:

Ein nacktes Repo ist im Wesentlichen ein Standard-Repo ohne Arbeitsverzeichnis. Wenn Sie mehr über GIT erfahren möchten, schauen Sie sich die Videoserie von Andrew Burgess an.

Wir brauchen jetzt die Möglichkeit, Code in den Ordner der Site zu verschieben, und es gibt viele Möglichkeiten, dies zu erreichen. Aber ich möchte, dass die Dinge so nah wie möglich an dem Service aussehen, den ich emuliere. Hier ist ein Bild des Git-Prozesses von fortrabbit, das von ihrer Website aufgenommen wurde:

Sie können sehen, dass der Push-Prozess drei Schritte durchläuft. Es zeigt eine Aktualisierungsnachricht an, wenn eine Verbindung hergestellt wird, und stellt die Site im Verzeichnis bereit. Im letzten Schritt wird alles installiert, wenn die Festschreibungsnachricht die Schlüsselwörter "[Trigger: Composer]" enthält. Nachdem diese drei Schritte abgeschlossen sind, wird ">> All Done angezeigt

Bevor wir die Haken erstellen, möchte ich über Farben sprechen.

Ich mache den größten Teil meiner Arbeit im Terminal, und meistens lassen Terminal-Apps alles in der gleichen Farbe. Das Hinzufügen verschiedener Farben zu Ihrer App erhöht nicht nur die Lesbarkeit, sondern auch die Ähnlichkeit. Um "Farbpraktiken" in Terminal-Apps besser zu verbreiten, werde ich mir einen Moment Zeit nehmen, um zu diskutieren, wie sie funktionieren.


Terminalfarben

Terminals werden mit 16 ANSI-Farben geliefert, die im gesamten Terminal konfiguriert und verwendet werden können. Hier ist ein Bild des iTerm2-Einstellungsbildschirms mit den 16 Farbsteckplätzen:

Sie können im Terminal darauf zugreifen, indem Sie das Escape-Zeichen gefolgt von der offenen eckigen Klammer und dem Farbcode eingeben. Sie können in diesem Bild sehen, dass die Farben in zwei Linien aufgeteilt sind: eine mit "Normal" und die andere mit "Hell". Die Codes für die normalen Farben sind die Zahlen 30-37, gefolgt vom Buchstaben "m", und die hellen Farben sind von 90-97, gefolgt von einem m. Sie können dies in Ihrem Terminalfenster mit echo testen. Geben Sie zum Erstellen des Escapezeichens ctrl-V gefolgt von ctrl-[ ein. Sie erhalten ein Zeichen, das wie ^[ aussieht, aber es funktioniert nicht, wenn Sie nur "^[" eingeben (Shift-6 und dann eckige Klammer öffnen). Geben Sie im Terminalfenster Folgendes ein:

Wieder wurde das erste ^[ nicht getippt, sondern mit ctrl-v und dann mit ctrl-[ erstellt. Der 0m-Zeichencode ist der Rücksetzcode. Es entfernt alle Formatierungen. Dies liegt daran, dass die Farbcodes nicht nach dem nächsten Wort enden, sondern fortgesetzt werden, bis sie einen anderen Code erhalten.

Bei korrekter Ausführung gibt der obige Code die Wörter "Hallo Welt" in Rot aus (es sei denn, Sie haben diesen Steckplatz auf eine andere Farbe eingestellt).

Im weiteren Verlauf des Tutorials werde ich den Befehlen Farben hinzufügen. Fühlen Sie sich frei, ihnen zu folgen oder sie wegzulassen; Sie sind nicht unbedingt erforderlich. Wenn Sie jedoch Farben verwenden möchten, können Sie meine Farbhilfeklasse verwenden. Kommen wir nun zum Schreiben der Haken zurück.


Erstellen der Hooks

Wenn Sie sich das Fortrabbit-Bild noch einmal ansehen, sehen Sie, dass die Meldung "Schritt 1: Aktualisieren des Repositorys" angezeigt wird, bevor Sie das Repo aktualisieren. Um dies korrekt zu tun, müssen wir diese Nachricht in den Pre-Receive-Hook einfügen, der ausgeführt wird, bevor das Repo aktualisiert wird. Geben Sie im Terminalfenster Folgendes ein:

Dies öffnet den Haken zum Bearbeiten. Fügen Sie den folgenden Code hinzu:

Die erste Zeile teilt dem Betriebssystem mit, dass es sich um eine PHP-Datei handelt, und führt sie als solche aus. Dann weisen wir Variablen eine Farbe und die Rücksetzsequenz zu. Der letzte Schritt echot die Linie an.

Der nächste Haken ist etwas komplizierter, da er den Rest der Aktionen erledigt. Wir werden es Schritt für Schritt machen, also speichern Sie den ersten Haken (:wq) und öffnen Sie den nächsten Haken:

Der Post-Receive-Hook wird ausgeführt, nachdem das Repo aktualisiert wurde. Wir müssen zuerst die Site aktualisieren und dann nach dem Composer-Trigger suchen. Hier ist ein Grundgerüst unseres Programms, das jede neue Logik auslässt:

Dies ist nur eine Übersicht, anhand derer Sie arbeiten können. Das erste, was wir einfügen müssen, ist die Funktion, mit der die neue Version des Repos in das Verzeichnis der Site verschoben wird. Traditionell würde ich einfach Folgendes eingeben, wenn ich mich im Ordner befände:

Sie könnten so etwas wie git pull verwenden, aber dies kann zu Fehlern führen. Wenn eine Datei direkt geändert wurde oder Sie ein Commit verpasst haben, können Sie mit git pull Ihre nicht verfolgten Dateien weder ziehen noch löschen.

Dies sind zwei einfache Befehle, aber Sie erhalten eine Fehlermeldung, wenn Sie versuchen, sie über den Hook auszuführen.

GIT legt einige Umgebungsvariablen fest, bevor die Hooks ausgeführt werden. Sie können dies mit einer von zwei Lösungen umgehen, und ich werde Ihnen beide zeigen.

Die erste besteht darin, die Umgebungsvariablen zu überschreiben und die Informationen direkt weiterzugeben. Der zweite löscht die Variablen vollständig. Ich werde die erste Option in diesem Beispiel und die zweite Option verwenden, wenn wir am Composer-Trigger arbeiten. Ersetzen Sie den oben hinzugefügten Kommentar mit der Aufschrift "TODO Deploy to Site" durch den folgenden:

Dies überschreibt die Umgebungsvariablen und ruft die oben genannten Funktionen auf. Der hinzugefügte Parameter -q weist GIT an, "leise" zu sein, wodurch verhindert wird, dass GIT Nachrichten wiedergibt.

Jetzt müssen wir nach dem Composer-Trigger suchen. Lassen Sie uns dies in zwei Schritte aufteilen. Wir suchen zuerst nach dem Trigger und führen dann Composer aus. Ersetzen Sie den zweiten TODO-Kommentar durch Folgendes:

In der ersten Zeile wird die Festschreibungsnachricht mit dem Befehl git log abgerufen und in einem speziellen Format übergeben, um zusätzliche Informationen auszuschließen. Als nächstes prüfen wir, ob die Zeichenfolge das spezielle Auslösewort enthält, und wiederholen den dritten Schritt und die OK-Meldung. Wir suchen nach dem Composer-Schlüsselwort, aber Sie können mehrere Schlüsselwörter für andere Funktionen implementieren, z. B.: In Laravel migrieren oder Komponententests ausführen. Fügen Sie etwas hinzu, um Ihren Arbeitsablauf zu verbessern.

Der letzte Schritt ist die Ausführung von Composer. Composer verfügt über zwei Befehle: composer installation und composer update.

Der Befehl install liest die Datei composer.json nicht, wenn er eine composer.lock-Datei findet. Da einige Benutzer möglicherweise die Datei composer.lock zu ihrer .gitignore-Datei hinzufügen, ist es sicherer, das composer update auszuführen (es wird immer die Datei composer.json angezeigt) .

Das zweite Problem ist, dass Composer manchmal GIT zum Herunterladen von Paketen verwendet und diese Versuche aufgrund der Umgebungsvariablen fehlschlagen. Hier ist also ein guter Ort, um einfach die Umgebungsvariable "GIT_DIR" zu entfernen. Ersetzen Sie den Kommentar zum Ausführen von Composer durch Folgendes:

Dieser Code ist einfach. Wir verschieben den PHP-Prozess in den Ordner der Site und entfernen dann die Umgebungsvariable GIT_DIR, damit GIT normal funktioniert. In der letzten Zeile wird Composer ausgeführt.


Lose Enden zusammenbinden

Wir haben jetzt beide Hooks eingerichtet, sind jedoch noch nicht vollständig bereit, unseren Server zu verwenden. Zuerst müssen wir diese Hooks ausführbar machen:

Erstellen Sie als Nächstes ein GIT-Repo im Ordner der Site. Wir würden eine Fehlermeldung erhalten, wenn wir versuchen, unsere Hooks auszuführen, da der Ordner der Site kein GIT-Repo ist. So beheben Sie diesen Typ:

Die ersten beiden Zeilen erstellen das Repo, und dann fügen wir das nackte Repository als Ursprung dieses Repos hinzu.

Sie sollten Ihren öffentlichen Schlüssel auch zu den autorisierten Hosts dieses Servers hinzufügen, damit Sie über GIT ohne Kennwort auf den Server zugreifen können. Sie können Ihren öffentlichen Schlüssel kopieren, indem Sie auf Ihrem Computer (nicht auf der VM) Folgendes eingeben:

Fügen Sie es dann einfach in der Datei ~/ .ssh/authorized_keys auf den Server ein:

Fügen Sie es einfach der Datei hinzu, aber lassen Sie alles, was sich bereits darin befindet.

Als nächstes müssen wir die IP dieses Servers zu unserer Hosts-Datei hinzufügen. Geben Sie Folgendes ein, um die IP zu ermitteln:

Dies zeigt Ihnen die IP aller Netzwerkgeräte auf dieser VM. Fügen Sie diejenige hinzu, die eine Verbindung zu Ihrem lokalen Netzwerk herstellt. Wenn Sie nicht bestimmen können, welche IP-Adresse verwendet werden soll, kopieren Sie diese und fügen Sie sie in Ihren Browser ein. Wenn es eine Verbindung herstellt, haben Sie die richtige IP-Adresse.

Nehmen Sie die IP-Adresse und fügen Sie sie der Hosts-Datei Ihres Computers hinzu (nicht der Hosts-Datei der VM). Die Hosts-Datei auf einem Mac befindet sich unter etc/hosts:

Fügen Sie als Nächstes die folgende Zeile hinzu:

Wenn dies funktioniert, können Sie in Ihrem Browser zu http://demo.dev navigieren. Erstellen Sie noch auf Ihrem Mac einen Ordner und initialisieren Sie ein GIT-Repo:

Wenn alles gut gegangen ist, sollten Sie eine Antwort von unseren GIT-Hooks sehen. Wenn Sie zu http://demo.dev navigieren, wird in Ihrem Browser die Meldung "Hallo Welt" angezeigt.


Schlussfolgerung

Auf diese Weise können Sie eine Staging-Umgebung erstellen, die die Funktionalität eines typischen PAAS nachahmt. Wenn Sie Probleme beim Verfolgen hatten oder mehrere Staging-Umgebungen einrichten müssen, habe ich ein Skript erstellt, das den Prozess vollständig automatisiert. Weitere Informationen finden Sie unter stagr.gmanricks.com.

Ich hoffe Ihr hat der Artikel gefallen. Fühlen Sie sich frei, Fragen zu stellen, die Sie möglicherweise in den Kommentaren haben. Danke fürs Lesen.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.