Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Deployer zum Verwalten und Bereitstellen von Code in PHP-Projekten

So verwenden Sie Deployer zum Verwalten und Bereitstellen von Code in PHP-Projekten

PHPz
PHPzOriginal
2023-07-13 23:57:081625Durchsuche

So verwenden Sie Deployer zum Verwalten und Bereitstellen von Code in PHP-Projekten

In der modernen Softwareentwicklung sind kontinuierliche Integration und automatisierte Bereitstellung zu wesentlichen Verknüpfungen geworden. Deployer ist ein leistungsstarkes PHP-Bereitstellungstool, das uns hilft, unseren Code schnell und einfach zu verwalten und bereitzustellen.

In diesem Artikel erfahren Sie, wie Sie Deployer zum Verwalten und Bereitstellen von Code in PHP-Projekten verwenden, und fügen entsprechende Codebeispiele bei.

Zuerst müssen wir Deployer in das Projekt einführen. Der Deployer kann über Composer installiert werden:

composer require deployer/deployer --dev

Nach Abschluss der Installation können wir eine deploy.php-Datei im Stammverzeichnis des Projekts erstellen, um unser Bereitstellungsskript zu schreiben. deploy.php的文件,用于编写我们的部署脚本。

use DotenvDotenv;

require 'recipe/common.php';

// 读取环境配置文件
$dotenv = Dotenv::createImmutable(__DIR__);
$dotenv->load();

// 服务器连接设置
server('production', 'your_server_ip', 22)
    ->user('username')
    ->identityFile('~/.ssh/id_rsa')
    ->stage('production')
    ->env('deploy_path', '/var/www/html');

// 项目配置
set('repository', 'git@github.com:your_username/your_repository.git');
set('branch', 'master');
set('default_stage', 'production');
set('keep_releases', 5);

// 任务:更新代码
task('deploy:update_code', function () {
    run("git fetch origin {{branch}}");
    run("git reset --hard origin/{{branch}}");
})->desc('Update code');

// 后置钩子:安装依赖
after('deploy:update_code', 'composer:install');

// 任务:构建前端资源
task('deploy:build_assets', function () {
    run('cd {{release_path}} && yarn install');
    run('cd {{release_path}} && yarn build');
})->desc('Build assets');

// 部署流程
task('deploy', [
    'deploy:prepare',
    'deploy:lock',
    'deploy:release',
    'deploy:update_code',
    'deploy:shared',
    'deploy:vendors',
    'deploy:writable',
    'deploy:symlink',
    'deploy:unlock',
    'cleanup',
])->desc('Deploy your project');

// 配置选项
/*...*/

// 运行Deployer
namespaceDeployer::run();

上述代码展示了一个简单的Deployer部署脚本的基本结构。其中,我们需要根据自己的实际情况配置服务器连接、项目仓库、任务等信息。

在上述代码中,我们使用了recipe/common.php,它是Deployer的默认配置文件,并定义了一些常用的任务。我们可以根据项目需要自定义任务和钩子,以满足特定的需求。

在上述示例中,我们定义了两个任务:

  1. deploy:update_code:用于更新代码,它通过Git命令从远程仓库拉取最新的代码。
  2. deploy:build_assets:用于构建前端资源,它通过运行yarn installyarn build命令来安装依赖和构建前端资源。

除了任务之外,我们还可以定义一些其他的钩子,如beforeafter等,来在任务执行前后执行一些额外的操作。在上述示例中,我们定义了一个后置钩子after('deploy:update_code', 'composer:install'),它会在更新代码之后自动运行composer install来安装项目的依赖。

在配置完成之后,我们可以通过以下命令来运行Deployer:

dep deploy production

其中,productionrrreee

Der obige Code zeigt die Grundstruktur eines einfachen Deployer-Bereitstellungsskripts. Unter anderem müssen wir die Serververbindung, das Projektlager, Aufgaben und andere Informationen entsprechend unserer tatsächlichen Situation konfigurieren.

Im obigen Code verwenden wir recipe/common.php, die Standardkonfigurationsdatei von Deployer, die einige allgemeine Aufgaben definiert. Wir können Aufgaben und Hooks an die Projektanforderungen anpassen, um spezifische Anforderungen zu erfüllen.

Im obigen Beispiel haben wir zwei Aufgaben definiert: 🎜
  1. deploy:update_code: Wird zum Aktualisieren des Codes verwendet, der über Git-Befehle den neuesten Code aus dem Remote-Repository abruft.
  2. deploy:build_assets: Wird zum Erstellen von Front-End-Ressourcen verwendet, die Abhängigkeiten durch Ausführen von yarn install und yarn buildinstallieren > Befehle und Aufbau von Front-End-Ressourcen.
🎜Zusätzlich zu Aufgaben können wir auch einige andere Hooks definieren, z. B. before, after usw., um einige vor und auszuführen nach der Aufgabenausführung Zusätzliche Operationen. Im obigen Beispiel haben wir einen Post-Hook after('deploy:update_code', 'composer:install') definiert, der nach der Aktualisierung des Codes automatisch composer install ausführt > So installieren Sie Projektabhängigkeiten. 🎜🎜Nachdem die Konfiguration abgeschlossen ist, können wir Deployer über den folgenden Befehl ausführen: 🎜rrreee🎜Wobei produktion der von uns definierte Serververbindungsname ist. Nach der Ausführung führt Deployer automatisch unsere vordefinierten Aufgaben und Hooks aus, um die Bereitstellung des Codes abzuschließen. 🎜🎜Zusammenfassend lässt sich sagen, dass Deployer ein leistungsstarkes, benutzerfreundliches PHP-Bereitstellungstool ist, das uns dabei helfen kann, eine schnelle Bereitstellung und automatisierte Verwaltung von Code zu erreichen. Durch den Einsatz von Deployer können wir die Effizienz und Qualität der Softwareentwicklung erheblich verbessern. 🎜🎜Ich hoffe, dass dieser Artikel Ihnen hilft, Deployer zu verstehen und zu nutzen. Ich hoffe auch, dass Sie die Vorteile von Deployer voll ausschöpfen und bessere Entwicklungserfahrungen und Ergebnisse erzielen können. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie Deployer zum Verwalten und Bereitstellen von Code in PHP-Projekten. 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