Comment intégrer et configurer Deployer dans les projets PHP
Aperçu :
Dans le processus de déploiement de projets PHP, il est très nécessaire d'utiliser des outils automatisés. Deployer est un outil de déploiement basé sur PHP qui peut nous aider à réaliser un déploiement de projet automatisé. Cet article présentera comment intégrer et configurer Deployer dans un projet PHP, ainsi que quelques configurations courantes et des exemples de code.
1. Installer Deployer :
Tout d’abord, nous devons installer Deployer dans le projet. L'installation à l'aide de Composer est le moyen le plus simple. Ouvrez un terminal, basculez vers le répertoire racine du projet et exécutez la commande suivante :
composer require deployer/deployer --dev
Cela installera Deployer dans le projet et l'ajoutera aux dépendances de développement.
2. Configurez Deployer :
Créez un fichier déployer.php dans le répertoire racine du projet. Ce sera le fichier de configuration de Deployer. Dans le fichier déployer.php, nous devons configurer certaines informations de base, telles que l'hôte du serveur cible, le nom d'utilisateur, le mot de passe, etc.
<?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');
L'exemple de code ci-dessus montre une configuration de déploiement la plus basique, vous devez la modifier en fonction de votre situation réelle. Parmi eux, your_project_name
est le nom du projet, your_username
est le nom d'utilisateur de la base de code, your_project
est le nom de la base de code , your_server_hostname</ code> est le nom d'hôte du serveur cible, <code>your_server_username
est le nom d'utilisateur du serveur cible, your_server_password
est le mot de passe du serveur cible, < code>your_deploy_path est l'emplacement du projet sur la cible. Le chemin de déploiement sur le serveur, your_service_name
est le nom du service qui doit être redémarré. 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']);
Définir des répertoires inscriptibles :
Certains répertoires peuvent devoir être écrits à chaque déploiement, vous pouvez utiliser la fonctionset
pour définir ces répertoires : 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');
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!