Maison  >  Article  >  développement back-end  >  Utilisez Deployer pour mettre en œuvre l'intégration et le déploiement continus de projets PHP

Utilisez Deployer pour mettre en œuvre l'intégration et le déploiement continus de projets PHP

WBOY
WBOYoriginal
2023-07-13 20:21:101030parcourir

Utilisez Deployer pour mettre en œuvre l'intégration et le déploiement continus de projets PHP

Introduction :
Dans le développement de logiciels modernes, l'intégration et le déploiement continus sont devenus l'un des aspects importants du développement de projets. En tant qu'outil de déploiement PHP populaire, Deployer peut nous aider à réaliser un déploiement automatisé de projets, améliorant ainsi l'efficacité du développement et réduisant les erreurs. Cet article expliquera comment utiliser Deployer pour implémenter l'intégration et le déploiement continus de projets PHP, et fournira quelques exemples de code.

1. Préparation de l'environnement de déploiement

  1. Télécharger et installer Deployer
    Tout d'abord, nous devons installer et configurer Deployer sur la machine locale. Deployer peut être téléchargé et installé par :

    $ curl -LO https://deployer.org/deployer.phar
    $ mv deployer.phar /usr/local/bin/dep
    $ chmod +x /usr/local/bin/dep
  2. Initialize Deployer
    Après avoir terminé l'installation, nous devons initialiser Deployer dans le répertoire racine du projet. Exécutez la commande suivante dans la ligne de commande :

    $ dep init

    Cette commande générera un fichier deploy.php dans le répertoire racine du projet pour configurer et définir les tâches de déploiement. deploy.php文件,用于配置和定义部署任务。

二、配置部署任务
deploy.php文件中,我们可以定义各种部署任务,并设置相关的参数。以下是一个示例:

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

// 服务器设置
server('production', 'your.production.server')
    ->user('your_user')
    ->identityFile()
    ->set('deploy_path', '/var/www/html');

// 代码仓库设置
set('repository', 'your_repository_url');
set('branch', 'master');

// 任务定义
task('deploy', function () {
    // 更新代码
    run('cd {{release_path}} && git pull origin {{branch}}');

    // 安装依赖
    run('cd {{release_path}} && composer install');

    // 更新数据库
    run('cd {{release_path}} && php artisan migrate');

    // 更新缓存
    run('cd {{release_path}} && php artisan cache:clear');

    // 重启服务
    run('sudo service php-fpm restart');
});

// 任务执行前调用的钩子
before('deploy', 'git:clone');
before('deploy', 'deploy:clear_paths');

// 执行部署任务
after('deploy', 'success');

三、执行部署任务
在配置好部署任务后,我们可以通过命令行执行部署任务。在项目根目录下执行以下命令进行部署:

$ dep deploy production

该命令会自动将代码部署到服务器上,执行相关的命令。

四、持续集成
为了实现持续集成,我们可以将部署任务与代码仓库的webhook相结合。具体步骤如下:

  1. 在代码仓库中设置webhook
    登录到代码仓库的webhook设置页面,将webhook的URL设置为部署任务的触发URL。
  2. 配置部署任务的触发条件
    deploy.php文件中,可以添加触发任务的条件。例如,我们可以在deploy

2. Configurer les tâches de déploiement

Dans le fichier deploy.php, nous pouvons définir diverses tâches de déploiement et définir les paramètres associés. Voici un exemple :

// 检查触发条件
task('check_trigger', function () {
 if ($_SERVER['HTTP_X_GITHUB_EVENT'] !== 'push') {
     throw new RuntimeException('Invalid trigger event.');
 }

 // 可以根据需要添加更多的触发条件判断
})->desc('Check trigger event.');

// 在deploy任务之前触发check_trigger任务
before('deploy', 'check_trigger');

3. Exécuter la tâche de déploiement
Après avoir configuré la tâche de déploiement, nous pouvons exécuter la tâche de déploiement via la ligne de commande. Exécutez la commande suivante dans le répertoire racine du projet à déployer :

rrreee🎜Cette commande déploiera automatiquement le code sur le serveur et exécutera les commandes associées. 🎜🎜4. Intégration continue🎜Afin de réaliser une intégration continue, nous pouvons combiner la tâche de déploiement avec le webhook de l'entrepôt de code. Les étapes spécifiques sont les suivantes : 🎜🎜🎜 Configurer le webhook dans le référentiel de code 🎜 Connectez-vous à la page des paramètres du webhook du référentiel de code et définissez l'URL du webhook comme URL de déclenchement de la tâche de déploiement. 🎜🎜🎜Configurer les conditions de déclenchement de la tâche de déploiement🎜Dans le fichier deploy.php, vous pouvez ajouter les conditions de déclenchement de la tâche. Par exemple, nous pouvons ajouter le code suivant avant la tâche deploy : 🎜rrreee🎜🎜🎜De cette façon, lorsque le code est poussé vers le référentiel de code, l'URL du déclencheur sera appelée pour exécuter la tâche de déploiement. . 🎜🎜Conclusion : 🎜En utilisant Deployer, nous pouvons facilement réaliser une intégration et un déploiement continus de projets PHP. Cet article présente l'installation et la configuration de Deployer, ainsi que la manière d'utiliser Deployer pour effectuer des tâches de déploiement et mettre en œuvre une intégration continue. J'espère que cet article pourra être utile aux développeurs de projets PHP. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn