So integrieren und konfigurieren Sie Deployer in PHP-Projekten

PHPz
Freigeben: 2023-07-12 12:56:01
Original
1115 Leute haben es durchsucht

So integrieren und konfigurieren Sie Deployer in PHP-Projekten

Übersicht:
Im Bereitstellungsprozess von PHP-Projekten ist es unbedingt erforderlich, automatisierte Tools zu verwenden. Deployer ist ein PHP-basiertes Bereitstellungstool, das uns bei der automatisierten Projektbereitstellung helfen kann. In diesem Artikel wird erläutert, wie Sie Deployer in ein PHP-Projekt integrieren und konfigurieren, außerdem werden einige gängige Konfigurationen und Beispielcode erläutert.

1. Deployer installieren:
Zuerst müssen wir Deployer im Projekt installieren. Die Installation mit Composer ist der einfachste Weg. Öffnen Sie ein Terminal, wechseln Sie in das Stammverzeichnis des Projekts und führen Sie den folgenden Befehl aus:

composer require deployer/deployer --dev
Nach dem Login kopieren

Dadurch wird Deployer im Projekt installiert und zu den Entwicklungsabhängigkeiten hinzugefügt.

2. Konfigurieren Sie den Deployer:
Erstellen Sie eine Datei „deploy.php“ im Stammverzeichnis des Projekts. In der Datei „deploy.php“ müssen wir einige grundlegende Informationen konfigurieren, wie z. B. Zielserver-Host, Benutzername, Passwort usw.

<?php
require 'recipe/common.php';

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

// 需要发布的代码库地址(可以是 Git、SVN 等)
set('repository', 'git@github.com:your_username/your_project.git');

// 部署的目标服务器
server('production', 'your_server_hostname')
    ->user('your_server_username')
    ->password('your_server_password')
    ->set('deploy_path', '~/your_deploy_path');

// 可选:生成版本号(根据 Git 提交信息生成)
set('keep_releases', 5);
set('release_name', function () {
    return date('YmdHis') . '_' . strtolower(deployer_run('git log -n 1 --format="%h"'))->toString();
});

// 自定义任务:重启服务
task('service:restart', function () {
    run('sudo service your_service_name restart');
});

// 在部署成功后执行自定义任务
after('success', 'service:restart');
Nach dem Login kopieren

Der obige Beispielcode zeigt eine grundlegendste Deployer-Konfiguration. Sie müssen sie entsprechend Ihrer tatsächlichen Situation ändern. Unter diesen ist your_project_name der Name des Projekts, your_username ist der Benutzername der Codebasis, your_project ist der Name der Codebasis , your_server_hostname</ code> ist der Hostname des Zielservers, <code>your_server_username ist der Benutzername des Zielservers, your_server_password ist das Passwort des Zielservers, < code>your_deploy_path ist der Speicherort des Projekts auf dem Ziel. Der Bereitstellungspfad auf dem Server, your_service_name ist der Name des Dienstes, der neu gestartet werden muss. your_project_name 是项目的名称,your_username 是代码库的用户名,your_project 是代码库的名称,your_server_hostname 是目标服务器的主机名,your_server_username 是目标服务器的用户名,your_server_password 是目标服务器的密码,your_deploy_path 是项目在目标服务器上的部署路径,your_service_name 是需要重启的服务名称。

三、使用 Deployer 完成部署:
配置完成后,使用以下命令可以执行部署:

vendor/bin/dep deploy production
Nach dem Login kopieren

部署成功后,你的代码将会被推送到目标服务器上的指定路径,并执行自定义任务(此处为重启服务)。

四、更多配置与自定义任务:
Deployer 支持更多的配置和自定义任务,以满足不同项目的需求。下面是一些常用的配置和自定义任务示例:

  1. 设置可写目录:
    有些目录可能需要在每次部署时被写入,你可以使用 set
  2. 3. Verwenden Sie Deployer, um die Bereitstellung abzuschließen:
Nachdem die Konfiguration abgeschlossen ist, verwenden Sie den folgenden Befehl, um die Bereitstellung durchzuführen:
    set('writable_dirs', ['var/logs', 'var/cache']);
    Nach dem Login kopieren
  1. Nach erfolgreicher Bereitstellung wird Ihr Code in den angegebenen Pfad auf dem Zielserver verschoben und benutzerdefinierte Aufgaben ausgeführt (Dies dient zum Neustarten des Dienstes).

    4. Mehr Konfigurationen und benutzerdefinierte Aufgaben:
  2. Deployer unterstützt mehr Konfigurationen und benutzerdefinierte Aufgaben, um den Anforderungen verschiedener Projekte gerecht zu werden. Hier sind einige Beispiele für häufige Konfigurations- und Anpassungsaufgaben:

    Beschreibbare Verzeichnisse festlegen:

    Einige Verzeichnisse müssen möglicherweise in jede Bereitstellung geschrieben werden. Sie können die Funktion set verwenden, um diese Verzeichnisse zu definieren:


    task('cache:clear', function () {
     run('cd {{release_path}} && php bin/console cache:clear');
    });
    
    task('service:restart', function () {
     run('sudo service your_service_name restart');
    });
    
    // 在部署完成后依次执行清理缓存和重启服务
    after('deploy:locked', 'cache:clear');
    after('success', 'service:restart');
    Nach dem Login kopieren
    🎜🎜 Benutzerdefinierte Aufgabe: Cache leeren und Dienst neu starten: 🎜rrreee🎜🎜🎜Der obige Beispielcode zeigt, wie Sie eine Aufgabe anpassen, um den Cache zu leeren und den Dienst neu zu starten. Durch die Konfiguration benutzerdefinierter Aufgaben können Sie nach Abschluss der Bereitstellung einige zusätzliche Aktionen ausführen. 🎜🎜Fazit: 🎜In PHP-Projekten ist Deployer ein sehr nützliches automatisiertes Bereitstellungstool. Mit einfachen Konfigurations- und Anpassungsaufgaben können Sie die Bereitstellung Ihres Projekts problemlos automatisieren. Ich hoffe, dieser Artikel kann Ihnen helfen und wünsche Ihnen viel Spaß beim Programmieren! 🎜

    Das obige ist der detaillierte Inhalt vonSo integrieren und konfigurieren Sie Deployer in PHP-Projekten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage