Kernpunkte
.gitignore
zur Ignorierung bestimmter Dateien erfolgen und prüfen, ob sie vor dem Ausführen der Bereitstellungsroute vorhanden sind. Andere Methoden umfassen Kennwortschutz oder IP -Adressbeschränkung.
Eine erfolgreiche Webentwicklung ist untrennbar mit effektiven Workflows für Website -Bereitstellungen verbunden. Unabhängig davon, ob Ihr Workflow gut oder schlecht ist oder nicht, wenn die Website nicht verfügbar ist, können Kunden nicht für die Früchte Ihrer harten Arbeit bezahlen.
Es gibt viele Möglichkeiten, eine Website auf einem Produktionsserver bereitzustellen, jeweils ihre Vor- und Nachteile, aber die Start- und Endmethoden sind gleich. Der Schlüssel zu einem guten Workflow für Website -Bereitstellungen sind die Zwischenschritte.
Neulich habe ich FileZilla verwendet, um Dateien auf meinen Produktionsserver hochzuladen. Ich hatte immer das Gefühl, dass die Benutzeroberfläche von Filezilla nicht sehr freundlich war, aber lange Zeit dachte ich, es sei eine Standardpraxis.
Für dasselbe Projekt verwende ich auch Git, um Dateiänderungen zu verfolgen. Als ich anfing, git push origin
zu tippen, machte ich eine Pause und dachte einen Moment nach. Wenn die Website -Bereitstellung so einfach ist, wie ein Git -Repository zu pushen, wäre es nicht viel bequemer?
Denken Sie sorgfältig darüber nach, Git ist das perfekte Tool für die Bearbeitung von Website -Bereitstellungsdateien. Es verfolgt alle Dateiänderungen und drückt oder zieht das, was Sie wollen, mit nur einem Befehl. Ich habe mich entschlossen, Google nach einer Möglichkeit zu suchen, Git bei der Bereitstellung meiner eigenen Website zu verwenden.
Eine beliebte Möglichkeit, Websites mit Git bereitzustellen, besteht darin, die Git -Haken optimal zu nutzen (Tom Oram verwendet gerne ähnliche Methoden). Stellen Sie sich vor, Git -Hooks starten ein vordefiniertes Skript, indem Sie git push origin
in die Terminalkonsole eingeben. Dieses vordefinierte Skript greift auf Ihren Produktionsserver zu und führt die neuesten Änderungen der Datei. Sie können Ihre Website auch über die gleichen Befehle wie Push -Änderungen aktualisieren. Ich fand, dass dieser Ansatz großartig war, bis mir klar wurde, dass ich, nur weil ich das örtliche Repository vorangetrieben habe, nicht bedeutete, dass ich bereit war, live zu gehen.
Ich möchte eine Möglichkeit, ein Repository so einfach wie Git zu schieben. Noch wichtiger ist, dass ich die volle Kontrolle haben möchte, wenn ich den Inhalt online bringt. Ich fand einen ähnlichen Workflow, der Dateitransfers mit Git übernimmt. Am wichtigsten ist auch, dass es auch möglich ist, das PHP -Framework Laravel zu verwenden, um sich wiederholtere Aufgaben zu automatisieren.
Folgendes ist meine Website -Bereitstellung Workflow:
Struktureinstellungen
In diesem Abschnitt werden wir ein Bart -Repository als unser zentrales Repository einrichten und zwei Repositories durch Klonen erstellen. Eine ist unsere lokale Website, auf der wir den Bereitstellungsprozess durchführen. Wir werden auch Laravel installieren.
Bevor Sie beginnen, benötigen Sie einen lokalen Server- und Produktionsserver mit installiertem Git.
<code>ssh username@domain.com cd repos</code>
<code>git init --bare --shared mywebsite.git</code>
Dieser Ordner wird normalerweise empfohlen, ihn außerhalb der öffentlichen Ordnerstruktur zu platzieren. Auf diese Weise stolpern andere nicht versehentlich auf Ihr privates Repository.2.
public_html
<code>cd ~/public_html/</code>
3.
<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite exit</code>
Befolgen Sie die Schritte, die Sie gerade eine Online -Website erstellt haben.
<code>vagrant ssh</code>
4
Bevor Sie Laravel einrichten, müssen Sie es auf Ihrer lokalen Website installieren.<code>cd websites git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>
Installation Laravel
/app/config/remote.php
Denken Sie an den Schlüssel "Produktion", da wir sie später verweisen müssen.
<code>'connections' => array( 'production' => array( 'host' => 'domain.com', 'username' => 'username', 'password' => '********************', 'key' => '', 'keyphrase' => '', 'root' => '/var/www', ), ),</code>
Fügen Sie Ihre Dateien Ihrem lokalen Website -Repository hinzu, damit wir alle Änderungen an ihnen verfolgen können.Führen Sie Ihr anfängliches Commit aus.
<code>git add .</code>
<code>git commit -m 'initial commit with laravel'</code>
<code>git push origin master</code>
Gute Arbeit! Sie haben alle eingerichtet und konfiguriert, und jetzt sollten Sie bereit sein, sich in interessante Inhalte zu befassen.
CORE -Workflow mit Git
Nachdem alles eingerichtet ist, ist es einfach, Ihre Website über Git bereitzustellen. Schauen wir uns den Code an und versuchen, den Kerninhalt zu verstehen.
Es ist wichtig, den Workflow zu verstehen, da wir ihn später in PHP mit Laravel umschreiben werden. Es hilft uns auch, alle Probleme zu debuggen, die auftreten können.
<code>ssh username@domain.com cd repos</code>
<code>git init --bare --shared mywebsite.git</code>
Wenn Sie alle bisher korrekt waren, sollten Sie Laravels "Sie sind angekommen" sehen, wenn Sie Ihre Online -Site besuchen.
Wenn Sie hier anhalten möchten, habe ich keine Meinungen zu Ihnen. Dies ist ein ziemlich zuverlässiger Bereitstellungs -Workflow für sich. Aber wir können es effizienter machen, indem wir es mit Laravel automatisieren.
Automatische Bereitstellung mit Laravel
Ok, jetzt, da wir wissen, wie Sie eine Website mit Git bereitstellen, verwenden wir Laravel, um diesen Prozess zu automatisieren. Dieser Teil ist möglicherweise nicht erforderlich, aber wenn Sie Laravel bereits verwenden, würde ich fragen: „Warum nicht?“ Mit Laravel hier einfach, steuerbar, kontrollierbar und anpassbar.
Öffnen Sie die Seite /app
im Ordner routes.php
und fügen Sie der Datei die folgende PHP -Codezeile hinzu.
<code>cd ~/public_html/</code>
Wenn wir auf http://localhost/deploy
zugreifen, wird die gemeinsame Funktion des Server
Controllers ausgeführt. deploy
-Klasse, die BaseController
erweitert. Server
<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite exit</code>
in den Controller ein. deploy
<code>vagrant ssh</code>
Ordner und nennen Sie es /app/controllers
. Server.php
3.
deploy
SSH -Fassade einfügen. Wir möchten auf die zuvor eingerichtete Produktions -Remote -Konfiguration zugreifen. Jetzt akzeptiert die Funktion
<code>cd websites git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>
-Funktion ausführen möchten. run()
deploy
<code>'connections' => array( 'production' => array( 'host' => 'domain.com', 'username' => 'username', 'password' => '********************', 'key' => '', 'keyphrase' => '', 'root' => '/var/www', ), ),</code>
Nun, wenn wir unsere Website bereitstellen möchten, müssen wir nur
<code>git add .</code>
http://localhost/deploy
Wir müssen uns mit einigen Sicherheitslücken umgehen, bevor wir es am Ende nennen. Jeder kann auf
Es gibt viele Möglichkeiten, dies zu tun, und wir können argumentieren, welche Methode am sichersten ist, bis wir erschöpft sind. Sie können das Kennwort der Route schützen, den Zugriff über eine IP -Adresse blockieren und so weiter.
In diesem Beispiel werden wir .gitignore
verwenden und überprüfen, ob die Datei vorliegt, und dann die gerade erstellte Route ausführen.
controllers
.gitignore
Erstellen Sie eine neue Datei und speichern Sie sie in Server.php
und nennen Sie sie
/app/controllers
Fügen Sie der Datei die folgende Textzeile hinzu und speichern Sie sie. .gitignore
5.
<code>ssh username@domain.com cd repos</code>
Server.php
<code>git init --bare --shared mywebsite.git</code>
Kreativ
<code>cd ~/public_html/</code>
Das ist es! Speichern Sie einfach alle aktualisierten Dateien, Commits und Pushes und Sie können mit der Bereitstellung mit git-freundlichen Workflows beginnen.
Sie können weiter gehen, wenn Sie möchten. Fügen Sie Ihrem Lesezeichen einfach
hinzu, um eine schnelle Ein-Klick-Bereitstellung zu erhalten. Sie können sogar ein einfaches HTML -Formular erstellen, das auf der Seite veröffentlichen kann, sodass Sie bestimmte Zweige ziehen können. Die Möglichkeiten sind endlos.
http://localhost/deploy
Bitte teilen Sie mir die kreativen Methoden mit, mit denen Sie die Website -Bereitstellung vereinfachen!
FAQs (FAQs) für die Bereitstellung von Websites mit Laravel und Git
Wie kann man Konflikte bei der Bereitstellung einer Laravel -Website mit Git lösen? Zusammenstöße können beim Bereitstellen von Laravel -Websites mit Git auftreten, insbesondere wenn mehrere Entwickler an demselben Projekt arbeiten. Um diese Konflikte zu lösen, müssen Sie das Git -Tool von Konfliktlösung verwenden. Wenn Konflikte auftreten, pausieren Git die Änderungsbasis und gibt Ihnen die Möglichkeit, den Konflikt zu beheben. Sie können dann
verwenden, um die behobenen Dateien hinzuzufügen und Wie kann ich Git Branch in meinem Laravel -Projekt effektiv verwenden? git add
git rebase --continue
Git Branch ist ein leistungsstarkes Tool zum Verwalten verschiedener Versionen von Laravel -Projekten. Sie können eine neue Filiale für jede Funktion oder jede Fehlerbehebung erstellen, mit der Sie mehrere Aufgaben gleichzeitig erledigen können, ohne die Hauptcode -Basis zu beeinflussen. Nachdem die Aufgabe abgeschlossen ist, können Sie die Zweige zur Hauptcodebasis zurückführen. Diese Methode stellt sicher, dass die Hauptcodebasis stabil und fehlerfrei bleibt.
automatisierter Bereitstellungsprozess kann viel Zeit und Mühe sparen. Sie können Git -Hooks verwenden, bei denen es sich um Skripte handelt, die Git vor oder nach Ereignissen wie Commit, Push und Empfangen ausführt. Sie können ein Skript schreiben, das Ihre Website automatisch bereitstellt, wenn Sie in die Hauptzweide drücken. Auf diese Weise können Sie sicherstellen, dass Ihre Website immer mit den neuesten Änderungen übereinstimmt.
Git bietet verschiedene Möglichkeiten, Änderungen zurückzusetzen. Sie können git revert
verwenden, um ein neues Commit zu erstellen, um die in einem bestimmten Commit vorgenommenen Änderungen rückgängig zu machen. Alternativ können Sie git reset
verwenden, um den Kopfzeiger auf das vorherige Commit zu verschieben, und "Vergessen" des danach erscheinten Commits zu verschieben. Seien Sie vorsichtig, wenn Sie git reset
verwenden, da dies Ihre Änderungen dauerhaft löschen kann.
Sicherheit ist ein wichtiger Aspekt eines Webentwicklungsprojekts. Fügen Sie bei der Bereitstellung von Laravel -Projekten mit Git Ihren .env
-Dateien sensible Dateien (z. B. .gitignore
) hinzu, um zu verhindern, dass sie dem Repository verpflichtet werden. Zusätzlich werden sichere Protokolle wie SSH oder HTTPS beim Drücken und Ziehen aus dem Repository verwendet.
Laravel ist ein leistungsstarkes Tool zum Verwalten von Datenbankschemata. Beim Bereitstellen eines Projekts können Sie php artisan migrate
verwenden, um ausstehende Migrationen anzuwenden. Seien Sie jedoch vorsichtig, wenn Sie mit mehreren Entwicklern arbeiten, da widersprüchliche Migrationen Probleme verursachen können. Ziehen Sie immer die neuesten Änderungen aus dem Repository an, um Konflikte zu vermeiden, bevor eine neue Migration erstellt wird.
Git ist ein leistungsstarkes Tool für die Zusammenarbeit. Sie können Filialen verwenden, um verschiedene Funktionen gleichzeitig zu verarbeiten und Pull -Anfragen zu verwenden, um Änderungen in die Hauptcode -Basis zu überprüfen und zusammenzuführen. Darüber hinaus kann das GIT -Tool von GIT Ihnen dabei helfen, alle Konflikte zu lösen, die auftreten, wenn Sie Änderungen zusammenführen.
Git bietet eine vollständige Geschichte aller Änderungen im Projekt. Sie können den Commit -Verlauf mit git log
ansehen und git diff
verwenden, um Änderungen in einem bestimmten Commit anzuzeigen. Dies ist sehr nützlich, um die Entwicklung des Projekts zu debugieren und zu verstehen.
Leistungsoptimierung ist ein Schlüsselaspekt der Webentwicklung. Bei der Bereitstellung von Laravel-Websites mit Git können Sie die integrierte Caching von Laravel verwenden, um die Leistung zu verbessern. Erwägen Sie auch, CDN zu verwenden, um statische Ressourcen bereitzustellen und Ihre Bilder und andere Ressourcen zu optimieren, um die Ladezeit zu verkürzen.
Die korrekte Handhabung von Fehlern und Ausnahmen ist für eine reibungslose Benutzererfahrung von wesentlicher Bedeutung. Laravel bietet ein leistungsstarkes Ausnahmebereitschaftssystem, mit dem Sie verschiedene Arten von Fehlern behandeln können. Wenn ein Fehler auftritt, können Sie Git verwenden, um zum vorherigen stabilen Zustand zurückzukehren, während Sie den Fehler beheben.
Das obige ist der detaillierte Inhalt vonStellen Sie Ihre Website mit Laravel und Git ein. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!