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
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');
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
部署成功后,你的代码将会被推送到目标服务器上的指定路径,并执行自定义任务(此处为重启服务)。
四、更多配置与自定义任务:
Deployer 支持更多的配置和自定义任务,以满足不同项目的需求。下面是一些常用的配置和自定义任务示例:
set
set('writable_dirs', ['var/logs', 'var/cache']);
Beschreibbare Verzeichnisse festlegen:
Einige Verzeichnisse müssen möglicherweise in jede Bereitstellung geschrieben werden. Sie können die Funktionset
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');
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!