Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Rapid Web Deployment für Laravel mit GitHub, Linode und RunCloud.io

by
Difficulty:IntermediateLength:LongLanguages:
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

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

Wenn Sie ein PHP-Programmierer sind, der mit dem Laravel-Framework arbeitet, bin ich mir sicher, dass Sie Ihre Webanwendung auf Cloud-Servern von Anbietern wie Linode, Digital Ocean, Vultr und dem Rest bereitstellen. Das liegt daran, dass es bei einem Framework wie Laravel, das eng mit Tools wie Git und Composer arbeitet, immer weniger wahrscheinlich ist, dass Ihre Anwendung von einer gemeinsam genutzten Hosting-Umgebung aus bedient werden kann.

Dieser Artikel zeigt Ihnen, wie Sie Ihren Webserver für Ihre Laravel-Anwendung auf dem Linode-Cloud-Hosting mithilfe des Serververwaltungstools RunCloud.io einrichten.

Wir werden Git neben GitHubs Webhook-Funktion verwenden. Wenn alles erledigt ist, können wir einfach einen Commit und einen Push für GitHub durchführen, und Ihr Server wird mit dem neuesten Quellcode aktualisiert. RunCloud macht es einfach, Ihren Server so einzurichten, dass Sie Ihre Anwendung so bereitstellen können, und ich zeige Ihnen, wie Sie das heute tun können.

Natürlich können Sie auswählen, welcher Zweig der Live-Server abzweigen soll. Es kann der Master oder jeder andere von Ihnen festgelegte Zweig sein, was bedeutet, dass diese Bereitstellungsmethode ideal für die Integration in a.workflow neben einer Staging- und Produktionsumgebung ist.

Außerdem sollte ich erwähnen, dass dies nicht auf GitHub-Repositories beschränkt ist. Es funktioniert mit GitLab, Bitbucket und wahrscheinlich auch mit anderen Git-Hosting-Diensten, solange sie die Webhook- und Deployment-Schlüsselfunktionen haben.

Erwähnenswert ist auch, dass RunCloud mit jedem Cloud-Hosting-Anbieter zusammenarbeitet. Linode wurde nur als Beispiel für einen geeigneten Cloud-Hosting-Anbieter gewählt.

Bevor wir beginnen, möchte ich, dass Sie wissen, dass Sie den Nginx-Webserver installieren werden, der am besten mit Laravel funktioniert. RunCloud hat jedoch die Möglichkeit, auch den Apache-Webserver zu installieren. In diesem Fall können Sie die .htaccess-Konfigurationen nutzen.

Ich werde den Teil über die Registrierung überspringen, da ich mir sicher bin, dass Sie das schnell und einfach umgehen können.

Wenn Sie bereit sind, fangen wir an.

Stellen Sie einen Ubuntu 16.04 LTS Server auf Linode bereit

Wenn Sie in Ihrem Dashboard auf Linode.com angemeldet sind, müssen Sie lediglich einen neuen Linode bereitstellen (sie nennen ihre Dienstinstanz "linode"). In der unteren rechten Ecke des Dashboards sollten Sie einen Link sehen, der Add a Linode sagt.

Adding a Linode

Als Nächstes wählen Sie die gewünschte Linode-Instanz und das Rechenzentrum aus, in dem Ihr Linode bereitgestellt werden soll, und klicken auf die Schaltfläche Add this Linode.

Selecting a Linode Instance

Sie sollten jetzt einen Linode haben, der den Status von Being Created anzeigt.

Linode Manager

Sobald dies abgeschlossen ist, haben Sie einen leeren Server. Sie müssen weiterhin ein Image für das Betriebssystem für diesen Server bereitstellen. Und damit es später mit RunCloud funktioniert, müssen Sie ein neues Ubuntu 16.04 LTS-Betriebssystem bereitstellen.

Klicken Sie auf den Linode-Namen. Im obigen Beispiel lautet der Name linode4362539. Dies bringt Sie zum nächsten Screenshot. Klicken Sie einfach auf den Link Deploy an Image.

Deploy an Image

Stellen Sie hier sicher, dass Sie Ubuntu 16.04 LTS als Bild ausgewählt haben. Im Übrigen können Sie die Konfiguration wählen, die Sie für angemessen halten. Für diese 20 GB Speicherplatz und 1 GB RAM Linode, schiebe ich meine Swap-Disk auf die maximale Einstellung, die 512 MB ist.

Geben Sie Ihr root-Passwort ein und bewahren Sie dieses sicher auf. Du wirst es später noch einmal brauchen. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Deploy .

Deploying Linode Image

Klicken Sie nun auf die Schaltfläche Boot, um den Server einzuschalten.

Sie sollten sehen können, dass Ihr Linode-Server in der rechten Widget-Box nicht mit "Running" gekennzeichnet ist. Versuchen wir, eine Verbindung zu Ihrem Server herzustellen und zu prüfen, ob es funktioniert. Klicken Sie auf die Registerkarte Remote Access.

Linode Remote Access

Auf der Registerkarte Remote Access sollten Sie weitere Informationen zu Ihrem Server einschließlich der IP-Adressen sehen können. Kopieren Sie diese Informationen und bewahren Sie sie auf. Wir werden es bald wieder brauchen.

Linode Remote Access Public IP

Um eine Verbindung zu Ihrem Server herzustellen, können Sie einen beliebigen SSH-Client verwenden, mit dem Sie vertraut sind. Oder wenn Sie wie ich sind und Sie nicht vom Browser weggehen möchten, können Sie auch einen integrierten, webbasierten SSH-Client in Linode verwenden. Scrollen Sie nach unten und suchen Sie nach einem Link, der Launch Lish Console sagt.

Linode Remote Access

Wenn Sie auf diesen Link klicken, wird Lish, der webbasierte SSH-Client, ausgeführt. Geben Sie root als Ihren Benutzernamen und das Passwort ein, das Sie beim Bereitstellen des Images erstellt haben.

Lish Console

In Ordung! Ihr Server kann mit PHP, Nginx und MariaDB (und anderen Tools) konfiguriert werden. Hier verwenden Sie RunCloud.

Wenn Sie noch kein RunCloud-Konto registriert haben, müssen Sie dies jetzt tun. Es besteht kein Risiko, RunCloud nur für dieses Tutorial zu testen, da es Ihnen eine fünftägige kostenlose Testversion gibt, die Ihnen vollen Zugriff auf alle Pro-Plan-Funktionen gewährt, damit Sie sie testen können. Wenn Sie nach Ablauf der fünftägigen Frist kein Upgrade durchgeführt haben, machen Sie sich keine Sorgen - Sie werden nur auf ihre kostenlose Benutzerstufe herabgestuft. Aber mit nur 10 $ pro Monat für den Pro-Plan-Account, der unbegrenzte Server erlaubt, ist RunCloud ein ziemlich cooles Werkzeug in Ihrem Entwickler-Arsenal.

Von RunCloud wollen wir unsere Linode verbinden und sie zu einem funktionierenden Webserver im Internet machen.

Klicken Sie in RunCloud auf Ihrem Dashboard auf die Schaltfläche mit der rechten Maustaste auf Connect a server.

Verbinden Sie Ihren Linode Server mit RunCloud und starten Sie die Konfiguration Ihres Webservers

Linode Server Connection Dashboard

Geben Sie die erforderlichen Informationen zu Ihrem Server bei Linode ein. Sie können zu Ihrem Linode Dashboard zurückkehren, um sie zu überprüfen. Aber der wichtigste Teil ist Ihre IP-Adresse. Stellen Sie sicher, dass Sie das Recht haben. Andernfalls schlagen der Verbindungsprozess und die Installation fehl.

Sobald Sie fertig sind, klicken Sie auf Connect this server.

Linode Server Connection Options

Nun wird RunCloud Ihnen Code zur Verfügung stellen, den Sie auf Ihrem Linode-Server ausführen müssen. Kopieren Sie einfach alles, da wir es danach wieder in der Lish-Konsole ausführen werden.

Linode Server Promopt

Wenn das Lish-Fenster weiterhin aktiv ist, können Sie das zuvor vom RunCloud-Dashboard kopierte Installationsskript einfügen.

Lish Console

Fügen Sie den Installationsskriptcode ein und drücken Sie den Enter-Schlüssel. Nach kurzer Zeit, wenn Sie sich das RunCloud-Dashboard ansehen, sehen Sie, dass RunCloud einen Fortschrittsbalken anzeigt und Benachrichtigungen den Fortschritt der Installation anzeigen, während RunCloud sich mit dem Server synchronisiert. Dies bedeutet, dass eine Verbindung hergestellt wurde.

Linode Server Installation Progress

Wenn die Installation abgeschlossen ist, wird Ihnen das Root-Passwort für Ihre MariaDB-Datenbank angezeigt. Stellen Sie sicher, dass Sie dies sicher aufbewahren. Es gibt auch einen MariaDB-Benutzer, der mit dem Benutzernamen runcloud erstellt wurde.

Lish Console

Sobald alles fertig ist, können Sie zu Ihrem RunCloud Dashboard zurückkehren und Ihre Serverliste überprüfen. Sie sollten eine Box mit Ihrem neuen Server so haben.

New Linode Server

Ihr Webserver wurde möglicherweise nicht gestartet. Klicken Sie auf diesen Server, um mit der Verwaltung zu beginnen. Dieser Screenshot unten ist die Hauptansicht zum Verwalten eines Servers.

Durchsuchen Sie das Menü auf der linken Seite und suchen Sie nach Services.

Linode Server Management

Hier können Sie Apache und Nginx aktivieren. Wenn Sie später Ihr Webanwendungsprojekt erstellen, können Sie die PHP-Version zusammen mit dem Typ des Webservers, den Sie ausführen möchten, bereitstellen: entweder Apache-Nginx-Hybrid oder natives Nginx.

Lassen Sie uns zunächst die erforderlichen Dienste einschalten.

Start Linode Server Services

An dieser Stelle sollten wir in der Lage sein, einen Browser zu starten und die IP-Adresse für diesen Server einzugeben. Sie sollten die standardmäßige leere Website von RunCloud erhalten.

Default RunCloud Page

Erstellen einer Webanwendung (virtueller Host) auf Ihrem Server mit RunCloud

Jetzt, da Ihr Server vollständig eingerichtet und mit RunCloud verbunden ist, können Sie RunCloud einfach zum Verwalten verwenden. Wenn Sie einen Server mit SSH verwalten, ist das Erstellen eines virtuellen Hosts immer ein Problem. Die Dinge sind mit RunCloud viel einfacher.

Bevor Sie Ihr Laravel-Projekt bereitstellen können, benötigen Sie einen Speicherort für die App. Jetzt müssen Sie einen virtuellen Host auf Ihrem Webserver erstellen. In der RunCloud-Nomenklatur wird dies als "Web Application" bezeichnet.

Nachdem Sie Ihren Server ausgewählt haben, suchen Sie in Ihrem RunCloud-Dashboard das Web Application-Menü in der linken Seitenleiste.

Server Web Application

Klicken Sie nun auf die Schaltfläche Create Application.

Create Server Application

Auf dem nächsten Bildschirm legen Sie die Konfigurationen für Ihre Webanwendung fest.

Application Configuration Options

Dies sind die Einstellungen, die ich dafür gewählt habe. Natürlich können Sie Ihre eigenen Werte nach eigenem Ermessen festlegen.

Lassen Sie mich die Werte erklären, die gesetzt werden.

Sie können einen beliebigen Namen für Ihre Webanwendung als Referenz für Ihr Projekt festlegen. Legen Sie für den Domänennamen einen Domänennamen fest, den Sie für das Projekt verwenden möchten. Später können Sie zusätzliche Domänennamen für das Projekt festlegen. Normalerweise möchten Sie, dass Ihre Website mit und ohne die Subdomäne "www" funktioniert. Das können wir später hinzufügen.

User bezieht sich auf den Linux-Benutzer in Ihrem Server. Sie können weitere Benutzer anlegen, wenn Sie dieses Projekt einem bestimmten Benutzer zuordnen möchten. Und dieser bestimmte Benutzer wird Zugriff auf den Server über SSH haben. Aber ich benutze nur den Standard-runcloud-Benutzer, der während der Serverinstallation erstellt wurde.

In Public Path befindet sich der öffentliche Webordner. Standardmäßig verwendet eine Laravel-Anwendung den Ordner "/public" für den öffentlich zugänglichen Webordner. Alle anderen Ordner befinden sich außerhalb dieses Ordners. Deshalb haben wir "public" dafür gesetzt.

Ich wähle die neueste Version von PHP 7.1. Und schließlich wähle ich für Web Application Stack das native NGINX. Eine weitere Option ist der NGINX + Apache2-Hybrid, mit dem Sie auf die .htaccess-Konfigurationsdatei zugreifen können. Aber ich gehe mit NGINX den ganzen Weg für diese Option.

Zu diesem Zeitpunkt funktioniert Ihre Website noch nicht mit Ihrer Domain. Wir müssen es immer noch mit dem richtigen DNS einrichten. Lass uns das im nächsten Abschnitt machen.

Einrichten des Domänennamens, DNS und SSL

Im vorherigen Abschnitt habe ich fotofaze.me als Domain-Namen festgelegt. Ich möchte aber auch, dass www.fotofaze.me mit dieser Webanwendung arbeitet. Bevor wir den DNS setzen, machen wir einen weiteren Schritt in RunCloud für diesen Server.

Nach dem Erstellen Ihrer Webanwendung sollten Sie Ihr Webanwendungs-Dashboard sehen. Klicken Sie von hier aus auf die Registerkarte Domain Name .

Web Application Domain Name

Wir können sehen, dass wir bereits fotofaze.me aufgelistet haben. Ich muss noch www.fotofaze.me zur Liste hinzufügen. Geben Sie einfach den Domainnamen ein und klicken Sie auf "Attach Domain Name".

Attaching a Domain Name

Ich verwende Namecheap für meine Domain-Namen. Und der große Teil ist, dass es mit einem eingebauten DNS-Server kommt. Andernfalls müssen Sie möglicherweise CloudFlare oder Linodes eigenen DNS-Dienst verwenden. Was wir tun müssen, ist zwei DNS-Einträge in der DNS-Verwaltung zu setzen. Einer ist ein A-Datensatz und der andere ist ein CNAME.

Aus meiner NamEcheap Domain Name List, klicke ich einfach auf die Manage Verwalten.

Namecheap Domain List

Von hier aus klicke ich auf die Registerkarte Advanced DNS.

Namecheap Advanced DNS

Hier müssen wir unabhängig vom verwendeten DNS-Dienst die folgenden DNS-Einträge festlegen:

So sehen meine Einstellungen in NamEcheap Advanced DNS aus.

Namecheap Advanced DNS Settings

Warten Sie eine Weile, bis die DNS-Änderungen behoben sind, bevor Sie Ihre Website im Browser testen. Sobald die Änderungen aktiv sind, sollten Sie den Fehler NGINX 403 beim Besuch Ihrer Website erhalten. Dies liegt daran, dass Ihr /public-Ordner derzeit leer ist, aber Sie wissen, dass alles funktioniert.

403 Forbidden Error

Ein letzter Teil, wenn es um den Domain-Namen geht, ist SSL zu aktivieren. Dadurch kann unsere Website über das Protokoll https: // auf Port 443 anstelle von http: // auf Port 80 erreichbar sein. Das hat viele Vorteile. Abgesehen von Sicherheitszwecken ist es auch gut für SEO.

Lassen Sie uns zum My-Laravel-App Web Application Dashboard zurückkehren und klicken Sie nun auf die Registerkarte SSL/TLS. SSL-Zertifikate kosten Hunderte von Dollars. Dank Let's Encrypt können wir nun SSL-Zertifikate für unsere Domainnamen kostenlos bereitstellen. Es könnte sehr technisch sein, wenn Sie das Let's Encrypt SSL-Zertifikat manuell hinzufügen, aber mit RunCloud ist es ein One-Click-Prozess Stück Kuchen.

Web Application SSL

Sobald Sie hier sind, können Sie Let's Encrypt als Ihre SSL-Methode auswählen. Und dann klicke auf den Submit-Button.

Web Application Lets Encrypt SSL

Ihre Website sollte jetzt mit dem https:// - Protokoll arbeiten.

Erstellen Sie Ihre Anwendungsdatenbank

Da wir eine Laravel-App bereitstellen werden, benötigen wir eine Datenbank. Lass uns das jetzt machen. Durchsuchen Sie das Menü der linken Seitenleiste und klicken Sie auf das Menü Database .

Application Database

Klicken Sie nun auf die Schaltfläche Create Database.

Create Application Database

Geben Sie einfach einen Namen für Ihre Datenbank ein und klicken Sie auf die Schaltfläche Add New Database.

Add New Database

Jetzt müssen wir einen Datenbankbenutzer hinzufügen und ihn unserer Datenbank zuweisen. Klicken Sie auf die Schaltfläche Add User.

Add Database User

Geben Sie jetzt einfach einen Benutzernamen und ein Passwort ein. Und dann klicken Sie auf die Add -Schaltfläche.

Database Username Password

Als Nächstes weisen wir den neu erstellten Benutzer der zuvor erstellten Datenbank zu. Klicken Sie auf das kleine Attach User-Symbol in Ihrer Datenbankliste.

Attach Database User

Da Sie im Moment nur einen Benutzer haben, stellen Sie sicher, dass dieser ausgewählt ist und klicken Sie dann auf die Schaltfläche Attach .

Attach Database User

Sobald Sie fertig sind, werden Sie das sehen. Der laraveluser ist jetzt an die laravelapp -Datenbank angehängt.

User Attachment Screenshot

Jetzt sind wir bereit, mit Laravel PHP zu programmieren. Aber vorher sollten wir ein GitHub-Projekt-Repository erstellen, auf das wir später unseren Quellcode schieben können.

Einrichten Ihres GitHub-Projekts

Ein Solo-Webentwickler würde normalerweise drei Stellen beibehalten, an denen sein Quellcode lebt:

  1. Lokaler Computer für die Entwicklung
  2. Git-Hosting-Service (d. H. GitHub) für die Zusammenarbeit, Versionskontrolle, Backup usw.
  3. Der Live-Server

In diesem Teil des Tutorials erstellen wir unser Projekt-Repository bei GitHub. Später werden wir dieses Repository verwenden, um die Arbeit von unserer Entwicklungsumgebung auf unserem lokalen Computer auf dieses spezifische GitHub-Projekt-Repository zu übertragen.

Wenn Sie bei GitHub eingeloggt sind, können Sie auf das kleine Pluszeichen (+) auf der rechten Seite der oberen Leiste klicken. Und Sie sollten ein Menü für New Repository sehen. Klicke darauf.

New GitHub Repository

Geben Sie einfach die Details Ihres Projekts mit etwas wie unten ein. Klicken Sie auf die grüne Schaltfläche, die Create Repository.

Create GitHub Repository

Sie sollten jetzt eine Ansicht wie die folgende haben.

GitHub Repository Setup

Der Bereich mit der roten Box ist die Repository-Adresse Ihres Projekts auf GitHub. Wir werden dies später benötigen, wenn wir die Remote-Darstellung des Projekts von unserem lokalen Entwicklungscomputer aus einrichten.

Jetzt können wir mit der Entwicklung auf unserem lokalen Computer beginnen und den Code auf GitHub übertragen.

Einrichten Ihres Laravel-Projekts auf Ihrem lokalen Computer

In diesem Teil des Tutorials werden wir unseren lokalen Computer mit unserer Entwicklungsversion unseres Laravel-Projekts einrichten. Später werden wir das auf einen Git-Hosting-Dienst hochladen (wir werden GitHub verwenden). Danach erhalten wir von unserem Linode-Server Code von GitHub, damit unser Produktionsserver immer den neuesten Quellcode bereitstellt.

Nur als Randnotiz wird in diesem Tutorial der Teil über die Einrichtung Ihres GitHub-Accounts mit Ihrem öffentlichen SSH-Schlüssel für die sichere Kommunikation übersprungen. Wir werden den Terminal-Bildschirm ziemlich viel für SSH verwenden. Normalerweise verwende ich Putty unter Windows.

Wenn Sie mit GitHub noch nicht vertraut sind, sollten Sie das Tutorial zum Generieren und Einrichten Ihres lokalen Computers mit einem SSH-Schlüssel durchgehen, der mit GitHub verwendet werden kann.

Die Verwaltung der Git-Bereitstellung auf Ihrem Live-Server kann mit RunCloud problemlos eingerichtet werden. Sobald wir alles eingerichtet haben, können Sie mit einem einfachen Git-Push von Ihrem lokalen Computer immer sicher sein, dass Ihr Server diese Updates automatisch holt. Kein FTP, keine weiteren Befehlszeilenbefehle.

Der einfachste Weg, ein Laravel-Projekt zu starten, ist die Verwendung von Composer. Wenn Sie mit Composer nicht vertraut sind, stellen Sie sicher, dass Sie darüber informiert sind und installieren Sie es auf Ihrem lokalen Computer. Komponist ist nicht nur für Laravel. Composer wird die Verwaltung von Bibliotheken und Abhängigkeiten für jedes PHP-Projekt reibungsloser gestalten und seine Verwendung wird als integraler Bestandteil der modernen PHP-Anwendungsentwicklung angesehen.

Öffnen Sie Ihr bevorzugtes Terminal-Tool und führen Sie den folgenden Befehl aus, um ein Laravel-Projekt zu erstellen.

Dies kann eine Weile dauern, während Composer Laravel auf Ihren Computer herunterlädt und installiert. Composer erstellt einen Ordner namens my-laravel und speichert alles darin. Lasst uns zuerst in diesen Ordner gehen.

Über die .env-Datei

Um sicherzustellen, dass Ihre Laravel-App ordnungsgemäß funktioniert, müssen Sie Ihre Datenbankverbindungseinstellungen einrichten. Sie können das tun, indem Sie die .env-Datei bearbeiten. Verwenden Sie einen beliebigen Texteditor, mit dem Sie vertraut sind, und bearbeiten Sie diese Datei. Hier ist, was eine typische .env-Datei enthalten würde. Sie können das nach Ihren eigenen Bedürfnissen aktualisieren.

Zurück zum Befehlszeilentool, lasst uns zuerst einen Schlüssel für diese Laravel-App erstellen. Geben Sie den folgenden Befehl im Terminal ein. Der folgende Befehl aktualisiert die .env-Datei mit einem Schlüssel-Hash.

Lassen Sie uns das nun für Git-Tracking initialisieren.

Über den Standard .gitignore von Laravel

Vielleicht sollte ich auch etwas über die .gitignore-Datei erklären, die mit Laravel geliefert wird. Sie können sich diese Datei ansehen und sehen, welche Dateien nicht verfolgt werden. Beispielsweise wird .env, das Ihre Datenbankverbindungsdetails speichert, nicht überwacht. Das bedeutet, dass Sie verschiedene .env-Dateien für Ihren lokalen Computer und für Ihren Live-Server verwenden.

Im vorherigen Abschnitt habe ich auf GitHub über Ihre Remote-Git-Repository-Adresse gesprochen. Führen Sie den folgenden Befehl mit Ihrer eigenen Adresse aus.

Als Nächstes werden wir unserem lokalen Git-Projekt mitteilen, wo sich unser Projektstandort auf GitHub befindet. Dazu müssen wir eine Remote-Repository-Repräsentation hinzufügen.

Wenn Sie es richtig machen, sollte Ihr Projekt bei GitHub mit so etwas aktualisiert worden sein. Wenn Probleme auftreten, ist Git möglicherweise nicht richtig auf Ihrem Computer eingerichtet oder Sie haben Ihren lokalen SSH-Schlüssel nicht erstellt.

Überprüfe die GitHub-Website, um dir dabei zu helfen.

GitHub Project Repository

Jetzt können wir mit der Einrichtung einer automatischen Bereitstellung mithilfe von Web-Hooks und Triggern beginnen. Sobald wir das haben, wird Ihr Code jedes Mal automatisch über RunCloud an Ihren Server übermittelt, wenn Sie Ihre Arbeit an GitHub senden.

Einrichten von Git Web Hook in RunCloud

Dazu müssen wir zuerst einen Deploy-Schlüssel über das RunCloud-Panel erzeugen. In Ihrem Server-Panel sollten Sie im linken Menü ein Menü mit der Bezeichnung Deployment Key finden.

Deployment Key Menu

Sie sollten bereits eine für Benutzer runcloud haben. Wenn Sie sich erinnern, haben wir beim Erstellen der Webanwendung erwähnt, dass der Benutzer runcloud ist.

Runcloud User Deployment Key

Klicken Sie auf das kleine Augensymbol, um den SSH-Schlüssel für diesen Benutzer anzuzeigen. Wenn Sie so etwas erhalten, bedeutet dies, dass für diesen Benutzer in der Vergangenheit nie ein SSH-Schlüssel erstellt wurde. Klicken Sie einfach auf OK, damit ein neuer SSH-Schlüssel erstellt wird.

SSH Key Not Created Prompt

Sobald das in Ordnung ist, wird Ihnen ein Layout wie dieses präsentiert. Dies ist der SSH-Schlüssel, den Sie in GitHub eingeben müssen. Damit kann GitHub Pull-Requests erkennen, wenn der Server neue Updates abrufen möchte. Kopieren Sie alles.

runcloud User Deployment Key

Lass uns zu GitHub gehen.

Gehen Sie in Ihr Projekt und klicken Sie auf den Tab, auf dem Settings steht. Klicken Sie dann auf das Menü Deploy Keys in der linken Seitenleiste.

GitHub Project Deploy Key

Da Sie möglicherweise noch keinen Schlüssel haben, klicken Sie einfach auf die Schaltfläche Add deploy key.

Add GitHub Project Deploy Key

Gib ihm einen Namen und dann kannst du deinen SSH Deploy Key eingeben, den wir von RunCloud erhalten haben. Klicken Sie auf die Schaltfläche Add key.

Add GitHub Project Deploy Key

Als nächstes richten wir einen Web-Hook-Trigger ein. Ein GitHub-Web-Hook funktioniert so: Immer wenn wir neue Updates an GitHub senden, kann GitHub andere Dienste oder Server über diesen neuen Push benachrichtigen. In diesem Fall werden wir GitHub anweisen, unseren Live-Server zu benachrichtigen. Und das kann einfach über RunCloud getan werden.

Öffnen Sie in RunCloud Ihre Webanwendung, die Sie zuvor erstellt haben. Und klicken Sie auf den Reiter Git.

RunCloud Git Menu

Scrollen Sie nach unten und geben Sie Details zu Ihrem Repository bei GitHub ein. So sieht es für das Projekt aus, das wir in diesem Tutorial gemacht haben. Sie können Ihre eigene Zweigstelle für die Live-Bereitstellung einrichten, wenn Sie nicht möchten, dass sie Master ist. Aber für dieses Beispiel bleiben wir beim Meister.

Das heißt, wenn Sie Ihren Master-Zweig an GitHub übergeben, wird der Live-Server dies als ein Zeichen nehmen, um den Quellcode auf dem Server zu aktualisieren. Es führt dann einen Pull des Master-Zweiges aus und aktualisiert sich selbst.

Wenn Sie bereit sind, klicken Sie auf die Schaltfläche Attach Git Repository.

Attach Git Repository to Web Application

Dies ist die Ansicht, die Sie erhalten, wenn Sie Ihre Webanwendung mit einer Git-Bereitstellung aktualisiert haben.

Successful Git Deployment Page

Sie können jetzt sehen, dass Sie eine Git WebHook URL haben. Dies ist die URL, die wir kopieren und in GitHub einfügen.

Bevor wir das tun, sollten wir unser Bereitstellungsskript auf unserem Server anpassen.

Das Bereitstellungsskript ist das Bash-Skript, mit dem Sie Ihren Server anweisen können, vor oder nach dem GIT-Pull bestimmte Aktionen auszuführen. Wenn Sie Laravel verwenden, werden Sie wissen, dass Laravel stark von den Handwerkern und dem Komponisten abhängt, um Ihre Entwicklung und Bereitstellung zu erleichtern.

Um das Bereitstellungsskript zu ändern, führen Sie einen Bildlauf zum GIT-Bereitstellungsskript auf der Registerkarte GIT für die Webanwendung durch. Hier können Sie ein eigenes Skript zum Ausführen hinzufügen. Bitte stellen Sie sicher, dass der Git-Pull irgendwo in Ihrem Deployment-Skript enthalten ist. Sie können das Skript mit Replacer für den Kurzgebrauch schreiben.

Git Deployment Script

Unten ist das Skript, das ich verwende.

Sie können das gleiche Skript verwenden. Aktivieren Sie das Kontrollkästchen und klicken Sie auf die Schaltfläche Save .

Jetzt geh wieder hoch. Wir müssen unsere Git-Webhook-URL immer noch in GitHub einfügen.

Git Webhook URL

Kopieren Sie diese URL, und wir werden mit GitHub fortfahren. Gehen Sie in GitHub zu Ihrem Projekt-Repository. Klicken Sie dann auf die Registerkarte Settings. Dann auf dem Webhooks-Menü von der Seitenleiste. Und dann auf die Schaltfläche Add Webhook.

GitHub Add Webhook

Fügen Sie einfach die Git WebHook URL, die wir von RunCloud erhalten haben, in das Textfeld "Payload URL" ein. Stellen Sie sicher, dass Sie application / json für Content type auswählen. Das sollte gut genug sein. Klicken Sie dann auf die Schaltfläche Add Webhook.

GitHub Webhook Form

Jetzt sollten wir in der Lage sein, einen Git-Push von unserem lokalen Rechner aus durchzuführen, und der Live-Server wird automatisch aktualisiert. Aber es gibt noch eine Sache, die wir tun müssen.

Wenn Sie sich erinnern, schrieb ich über die .gitignore und die .env-Datei. Da wir die .env-Datei in unsere .gitignore-Datei aufgenommen haben, fehlt unserer Laravel-App auf dem Server die erforderliche .env-Datei. Wir müssen das schaffen, um die Situation zu verbessern.

Wir können SSH und das Terminal benutzen. Alternativ können wir auch den Dateimanager in RunCloud verwenden. Angenommen, Sie verwenden SSH wie Putty oder ein anderes Terminal-Tool. Wenn Sie sich erinnern, wurde diese Webanwendung zuvor mit dem runcloud-Benutzer erstellt. Stellen Sie sicher, dass Sie sich auch über SSH mit diesem Benutzer verbinden.

Sie müssen zu Ihrem Webanwendungsordner navigieren. Und dann den folgenden Befehl ausführen.

Vergessen Sie nicht, Ihre .env-Datei zu aktualisieren.

Jetzt sollten Sie die .env-Datei haben, mit dem Hash-Schlüssel generiert. Sie müssen diese Datei weiterhin aktualisieren und sie mit den Datenbankverbindungseinstellungen aktualisieren, so wie Sie sie in den vorherigen Schritten erstellt haben.

Lass uns einen Git Push versuchen

Das einzige, was jetzt zu tun ist, ist ein Update auf dem lokalen Rechner durchzuführen und es an GitHub zu senden.

Ich habe eine einfache Bearbeitung der Datei "welcome.blade.php" im Ordner "resources / views" vorgenommen.

Notepad Screenshot

Lassen Sie uns eine Commit machen und dann auf den Server schieben.

Wenn alles wie geplant verläuft, können Sie die Website im Browser starten und die Änderungen sehen, die Sie gerade vorgenommen haben. Herzlichen Glückwunsch - Sie haben Ihren Server gerade aktualisiert, ohne auf einen S / FTP-Upload zurückgreifen zu müssen.

Website Loaded Successfully
Advertisement
Advertisement
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.