Comment utiliser Deployer pour gérer et déployer du code dans des projets PHP
Dans le développement logiciel moderne, l'intégration continue et le déploiement automatisé sont devenus des liens essentiels. Deployer est un puissant outil de déploiement PHP qui nous aide à gérer et déployer notre code rapidement et facilement.
Cet article expliquera comment utiliser Deployer pour gérer et déployer du code dans des projets PHP, et joindra des exemples de code correspondants.
Tout d'abord, nous devons introduire Deployer dans le projet. Deployer peut être installé via composer :
composer require deployer/deployer --dev
Une fois l'installation terminée, nous pouvons créer un fichier deploy.php
dans le répertoire racine du projet pour écrire notre script de déploiement. 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的默认配置文件,并定义了一些常用的任务。我们可以根据项目需要自定义任务和钩子,以满足特定的需求。
在上述示例中,我们定义了两个任务:
deploy:update_code
:用于更新代码,它通过Git命令从远程仓库拉取最新的代码。deploy:build_assets
:用于构建前端资源,它通过运行yarn install
和yarn build
命令来安装依赖和构建前端资源。除了任务之外,我们还可以定义一些其他的钩子,如before
、after
等,来在任务执行前后执行一些额外的操作。在上述示例中,我们定义了一个后置钩子after('deploy:update_code', 'composer:install')
,它会在更新代码之后自动运行composer install
来安装项目的依赖。
在配置完成之后,我们可以通过以下命令来运行Deployer:
dep deploy production
其中,production
rrreee
recipe/common.php
, qui est le fichier de configuration par défaut de Deployer et définit certaines tâches courantes. Nous pouvons personnaliser les tâches et les hooks en fonction des besoins du projet pour répondre à des besoins spécifiques. Dans l'exemple ci-dessus, nous avons défini deux tâches : 🎜deploy:update_code
: utilisée pour mettre à jour le code, qui extrait le dernier code du référentiel distant via les commandes Git. deploy:build_assets
: utilisé pour créer des ressources frontales, qui installent les dépendances en exécutant yarn install
et yarn build
commandes et création de ressources frontales. avant
, après
, etc., pour effectuer certaines tâches avant et après l'exécution de la tâche Opérations supplémentaires. Dans l'exemple ci-dessus, nous avons défini un post hook after('deploy:update_code', 'composer:install')
, qui exécutera automatiquement composer install
après la mise à jour du code > Pour installer les dépendances du projet. 🎜🎜Une fois la configuration terminée, nous pouvons exécuter Deployer via la commande suivante : 🎜rrreee🎜Où, production
est le nom de connexion au serveur que nous avons défini. Après l'exécution, Deployer exécutera automatiquement nos tâches et hooks prédéfinis pour terminer le déploiement du code. 🎜🎜Pour résumer, Deployer est un outil de déploiement PHP puissant et facile à utiliser qui peut nous aider à réaliser un déploiement rapide et une gestion automatisée du code. En utilisant Deployer, nous pouvons considérablement améliorer l'efficacité et la qualité du développement logiciel. 🎜🎜J'espère que cet article vous aidera à comprendre et à utiliser Deployer. J'espère également que vous pourrez profiter pleinement des avantages de Deployer et obtenir une meilleure expérience et de meilleurs résultats de développement. 🎜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!