Heim  >  Artikel  >  Backend-Entwicklung  >  Automatisierte Bereitstellung und Rollback von PHP-Anwendungen über Deployer

Automatisierte Bereitstellung und Rollback von PHP-Anwendungen über Deployer

WBOY
WBOYOriginal
2023-07-12 11:15:101304Durchsuche

Automatisierte Bereitstellung und Rollback von PHP-Anwendungen durch Deployer

Einführung:
Im Softwareentwicklungsprozess ist die Anwendungsbereitstellung ein sehr wichtiges Glied. Die herkömmliche manuelle Bereitstellungsmethode ist nicht nur zeitaufwändig und arbeitsintensiv, sondern auch anfällig für menschliche Fehler. Um die Bereitstellungseffizienz zu verbessern und menschliche Fehler zu reduzieren, können wir automatisierte Bereitstellungstools verwenden, um eine automatisierte Bereitstellung und ein automatisches Rollback zu erreichen. In diesem Artikel wird erläutert, wie Sie mit Deployer die automatisierte Bereitstellung und das Rollback von PHP-Anwendungen implementieren.

1. Was ist Deployer?
Deployer ist ein PHP-Tool zur automatisierten Bereitstellung von Anwendungen. Es basiert auf Shell-Skript und SSH-Protokoll und kann verschiedene Aufgaben auf dem Remote-Server ausführen, wie z. B. Code-Pulling, Datenbankmigration, Dateiberechtigungseinstellung usw. Es unterstützt auch Cluster-Bereitstellungs- und Rollback-Funktionen mehrerer Server.

2. Deployer installieren
Zuerst müssen wir Deployer in der lokalen Entwicklungsumgebung installieren. Es kann über Composer installiert werden. Der Befehl lautet wie folgt:

$ composer require deployer/deployer --dev

3. Schreiben Sie die Deployer-Konfigurationsdatei.
Erstellen Sie eine Deployer-Konfigurationsdatei im Projektstammverzeichnis. In der Konfigurationsdatei können wir verschiedene Aufgaben und serverclusterbezogene Konfigurationen definieren.

  1. Server definieren

    server('stage', 'example.com') 
     ->user('deploy')
     ->identityFile('~/.ssh/id_rsa')
     ->set('deploy_path', '/var/www/stage.example.com');

    In diesem Beispiel definieren wir einen Server mit dem Namen „stage“ und geben dabei den Hostnamen und Benutzer des Servers sowie das Projektverzeichnis auf dem Server an.

  2. Aufgaben definieren

    task('deploy', [
     'deploy:info',
     'deploy:prepare',
     'deploy:update_code',
     'deploy:shared',
     'deploy:writable',
     'deploy:clear_paths',
     'deploy:symlink',
     'deploy:unlock',
     'cleanup',
     'success'
    ]);

    In diesem Beispiel definieren wir eine Aufgabe namens „Deploy“, die Unteraufgaben verschiedener Bereitstellungsprozesse umfasst.

4. Bereitstellung und Rollback ausführen

  1. Bereitstellung ausführen

    $ dep deploy stage

    Nach der Ausführung des obigen Befehls stellt der Deployer eine Verbindung zum Stage-Server her, führt jede in der Bereitstellungsaufgabe definierte Unteraufgabe aus und schließt den Bereitstellungsprozess ab die Anwendung. Sie können während des Bereitstellungsprozesses detaillierte Protokollinformationen anzeigen und Fehler während des Bereitstellungsprozesses beheben.

  2. Rollback durchführen

    $ dep rollback stage

    Wenn während der Bereitstellung etwas schief geht, können Sie den Rollback-Befehl verwenden, um die Anwendung auf die vorherige stabile Version zurückzusetzen. Der Deployer stellt eine Verbindung zum Stage-Server her, führt Rollback-Aufgaben durch und stellt den Code und die Konfigurationsdateien in ihrem vorherigen Zustand wieder her.

5. Weitere Funktionen und Erweiterungen
Deployer bietet außerdem viele weitere Funktionen und Erweiterungen, die je nach Bedarf konfiguriert und genutzt werden können.

  1. Parallele Bereitstellung
    Sie können den Bereitstellungsprozess beschleunigen, indem Sie parallele Aufgaben konfigurieren. Beispielsweise können Anwendungen auf mehreren Servern gleichzeitig bereitgestellt werden, um die Bereitstellungseffizienz zu erhöhen.
  2. Benutzerdefinierte Aufgaben
    Deployer ermöglicht es Ihnen, Aufgaben anzupassen und sie dem Bereitstellungsprozess hinzuzufügen. Sie können Ihren eigenen Aufgabencode entsprechend spezifischer Anforderungen schreiben, z. B. Datenbankmigration, Cache-Bereinigung usw.
  3. Erweiterungs-Plugins
    Deployer bietet viele Erweiterungs-Plugins, die für verschiedene Zwecke verwendet werden können, wie z. B. Laravel-Framework-Unterstützung, NPM/Bower-Build-Unterstützung usw. Sie können das entsprechende Plug-In entsprechend Ihren Projektanforderungen verwenden.

Fazit:
Mit Deployer können wir ganz einfach automatisiertes Deployment und Rollback von PHP-Anwendungen implementieren. Dies verbessert nicht nur die Effizienz der Bereitstellung, sondern reduziert auch das Auftreten menschlicher Fehler. Ich hoffe, dass dieser Artikel allen bei der Realisierung einer automatisierten Bereitstellung helfen kann.

Das obige ist der detaillierte Inhalt vonAutomatisierte Bereitstellung und Rollback von PHP-Anwendungen über Deployer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn