Heim  >  Artikel  >  Backend-Entwicklung  >  Effiziente Batch-Bereitstellung von PHP-Anwendungen: mit Deployer

Effiziente Batch-Bereitstellung von PHP-Anwendungen: mit Deployer

WBOY
WBOYOriginal
2023-07-12 08:36:061186Durchsuche

Effiziente Batch-Bereitstellung von PHP-Anwendungen: Verwenden Sie Deployer

Einführung:
Mit dem Aufkommen von Cloud Computing, Containerisierung und Microservice-Architektur ist die Bereitstellung moderner Anwendungen immer komplexer und umständlicher geworden. Insbesondere in Situationen, in denen ein Entwicklungsteam häufig mehrere PHP-Anwendungen bereitstellen muss, ist die manuelle Bereitstellung jeder Anwendung sehr zeitaufwändig und fehleranfällig. Um dieses Problem zu lösen, können wir das Deployer-Tool verwenden, um den Bereitstellungsprozess von PHP-Anwendungen zu automatisieren und zu vereinfachen. In diesem Artikel stellen wir die grundlegenden Konzepte und die Verwendung von Deployer vor und fügen spezifische Codebeispiele bei.

Deployer-Einführung:
Deployer ist ein in PHP geschriebenes Open-Source-Projektbereitstellungstool. Es kann uns helfen, den Anwendungsbereitstellungsprozess zu automatisieren, einschließlich Code-Pulling, Umgebungskonfiguration, Datenbankmigration, Abhängigkeitsinstallation usw. Der Deployer stellt über das SSH-Protokoll eine Verbindung zu einem Remote-Server her und führt eine Reihe vordefinierter Aufgaben aus, um die Bereitstellung der Anwendung abzuschließen.

Bereitstellungsprozess:
Der grundlegende Prozess der Verwendung von Deployer zum Bereitstellen von PHP-Anwendungen ist wie folgt:

  1. Deployer in der lokalen Umgebung installieren
    Führen Sie den folgenden Befehl in der Befehlszeile aus, um Deployer mit Composer zu installieren:
composer require deployer/deployer --dev
  1. Erstellen die Konfigurationsdatei „deploy.php“
    Erstellen Sie eine Datei mit dem Namen „deploy.php“ im Stammverzeichnis des Projekts und fügen Sie den folgenden Inhalt hinzu:
<?php
require 'recipe/common.php';

// 项目名称
set('application', 'My App');

// 项目代码库地址
set('repository', 'git@github.com:user/my-app.git');

// 服务器用户名
set('user', 'user');

// 服务器IP地址
server('production', 'production-server.com', 22)
    ->user(get('user'))
    ->forwardAgent();

// 服务器代码存放路径
set('deploy_path', '/var/www/html/my-app');

// 部署任务
task('deploy', function () {
    // 拉取代码库
    run('git clone {{repository}} {{release_path}}');

    // 安装项目依赖
    run('cd {{release_path}} && composer install');

    // 配置环境
    run('cp {{release_path}}/.env.example {{release_path}}/.env');

    // 迁移数据库
    run('cd {{release_path}} && php artisan migrate');

    // 重启服务
    run('sudo service php-fpm restart');
});

// 设置远程服务器
host('production');

// 配置服务器连接选项
set('ssh_type', 'native');
set('ssh_multiplexing', true);

// 指定默认任务
after('deploy', 'success');
  1. Serververbindungsoptionen konfigurieren
    In der Konfigurationsdatei „deploy.php“ haben wir Folgendes verwendet Optionen zum Konfigurieren der Serververbindung:
  • ssh_type: SSH-Verbindungsmethode, die Standardeinstellung ist nativ, Sie können auch andere Methoden wie phpseclib verwenden. ssh_type: SSH连接方式,默认为native,也可以使用phpseclib等其他方式。
  • ssh_multiplexing
  • ssh_multiplexing: Gibt an, ob SSH-Verbindungsmultiplexing aktiviert werden soll. Der Standardwert ist „true“.

  1. Bereitstellungsbefehl ausführen
  2. Führen Sie den folgenden Befehl in der Befehlszeile aus, um den Code auf dem Remote-Server bereitzustellen:

dep deploy production

Der obige Befehl stellt eine Verbindung zum Remote-Server her und führt die in der Konfiguration „deploy.php“ definierte Bereitstellungsaufgabe aus Datei .


Zusammenfassung:

Durch die Verwendung von Deployer können wir problemlos eine Stapelbereitstellung von PHP-Anwendungen erreichen. Deployer bietet eine präzise und klare Konfigurationsmethode und leistungsstarke Funktionen zur Definition von Bereitstellungsaufgaben, sodass wir den Bereitstellungsprozess automatisieren und vereinfachen können. Mit Deployer können Entwicklungsteams Anwendungen schnell und effizient auf mehreren Servern bereitstellen, wodurch die Entwicklungseffizienz verbessert und die Fehlerwahrscheinlichkeit verringert wird.

Codebeispiele finden Sie in der offiziellen Dokumentation des Deployers. Die spezifische Adresse lautet: https://deployer.org/🎜

Das obige ist der detaillierte Inhalt vonEffiziente Batch-Bereitstellung von PHP-Anwendungen: mit 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