Mit der kontinuierlichen Entwicklung der Web-Technologie ist PHP immer noch eine wichtige Sprache, die in der Back-End-Entwicklung nicht ignoriert werden kann. In der tatsächlichen Entwicklung wirkt sich die Effizienz und Stabilität des Projekts häufig direkt auf die Online -Effizienz und -stabilität des Projekts aus. Dieser Artikel führt Sie durch ein hervorragendes automatisiertes Bereitstellungswerkzeug - Deployer, mit dem Sie einen effizienten und kontrollierbaren PHP -Bereitstellungsprozess erstellen können.
Deployer ist ein PHP-basiertes Open-Source-Bereitstellungs-Tool, mit dem komplexe Bereitstellungsprozesse vereinfacht werden. Es verwendet PHP, um Konfigurationslogik zu schreiben, sodass Entwickler Bereitstellungsstrategien flexibel steuern und den Projektstart schnell mit automatisierten Aufgaben abschließen können.
Zu den Kernvorteilen des Bereitstellers gehören:
Flexible Konfiguration : Das Bereitstellungsskript selbst ist PHP -Code und ermöglicht eine flexible Konfiguration mit logischen Urteilen, Code -Snippets usw.
Unterstützt mehrere Umgebungen : Bereitstellungsrichtlinien können für verschiedene Umgebungen (z. B. Inszenierung und Produktion) festgelegt werden.
Parallele Bereitstellungsfähigkeit : Unterstützt die Bereitstellung von Code für mehrere Serverknoten gleichzeitig und verkürzt die Bereitstellungszeit erheblich.
Hier ist die Verzeichnisstruktur eines typischen PHP -Projekts beim Bereitstellen mit dem Bereitstellen mit dem Bereitstellungsbereich:
my-project/ ├── aktuell/ ├── Veröffentlichungen/ │ ├── 20220101_120000/ │ └── 20220102_150000/ └── geteilt/ ├── Protokolle/ └── Lagerung/
Verwenden Sie im Projekt Root Directory den Komponisten, um den Bereitstellungseinsatz zu installieren:
Der Komponist erfordert Deploymer/Deployer
Erstellen Sie eine deploy.php
-Datei im Projektroot -Verzeichnis als Hauptbereitstellungskonfigurationsskript. Hier ist ein grundlegendes Konfigurationsbeispiel:
<?php require 'vendor/autoload.php'; // Projektname set('application', 'my-project'); // Code -Repository -Adresse set('repository', 'git@github.com:username/my-project.git'); // Konfiguration staging Umfeld host('staging') -> Hostname ('example.com') -> set ('deplopt_path', '/var/www/staging'); // Konfigurieren Sie den Produktionsumgebungshost ('Produktion') -> hostname ('example.com') -> set ('deploy_path', '/var/www/production'); // Definieren Sie die wichtigste Bereitstellungsaufgabe ('Deployming', Function () { // Wechseln Sie zur neuesten Version $ releasepath = "{{Deploption_path}}/Releases/{{Timestamp}}"; run ("Git Clone -Depth 1 {{repository}} $ releasepath"); // Erstellen Sie einen symbolischen Link Run ("ln -Sfn $ releasepath {{deplement_path}}/current"); // Abhängigkeits run ("CD {{Deploption_path}}/current && composer install"); // Die alte Version von Run ("ls -dt {{Deploption_path}}/Releases/* | Tail -n +6 | xargs -r rm -rf") aufräumen; }); // Staging -Bereitstellungsaufgabe definieren ('Staging', function () { set ('ast', 'staging'); auf aufrufen ('bereit'); })-> Onroles ('Staging'); // Aufgabe der Produktionsbereitstellung definieren ('Produktion', function () { set ('Branch', 'Produktion'); auf aufrufen ('bereit'); })-> Onroles ('Produktion');
In diesem Konfigurationsbeispiel wird angezeigt, wie Projektbasisinformationen, Umgebungsinformationen und Definieren der Bereitstellungslogik über task()
eingerichtet werden. Variablen wie {{deploy_path}}
und {{timestamp}}
werden beim Bereitstellen automatisch durch die tatsächlichen Werte ersetzt.
Die Befehle bereitstellen sind sehr einfach. Führen Sie sie einfach im Terminal aus:
DEP -Einsatz
Der Einsatz wird automatisch eine Verbindung zum Server hergestellt, Code abzieht, Abhängigkeiten aktualisiert, alte Versionen usw. gemäß Konfiguration aufräumen, um den gesamten Bereitstellungsprozess zu automatisieren.
Mit dem Einsatz ist der Bereitstellungsprozess von PHP -Projekten nicht mehr kompliziert. Es verbessert nicht nur die Effizienz, sondern verbessert auch die Kontrollierbarkeit und Wartbarkeit von Bereitstellungen. Egal, ob es sich um kleine und mittelgroße Projekte oder groß angelegte Systeme mit mehreren Knoten handelt, der Einsatz bietet eine starke Unterstützung. Wenn Sie es nicht ausprobiert haben, können Sie es genauso gut in Ihr nächstes Projekt vorstellen und die Änderungen erleben, die durch Bereitstellungsautomatisierung verursacht werden.