Maison  >  Article  >  développement back-end  >  Déploiement et restauration automatisés des applications PHP via Deployer

Déploiement et restauration automatisés des applications PHP via Deployer

WBOY
WBOYoriginal
2023-07-12 11:15:101252parcourir

Déploiement et restauration automatisés des applications PHP via Deployer

Introduction :
Dans le processus de développement logiciel, le déploiement d'applications est un maillon très important. La méthode de déploiement manuel traditionnelle est non seulement longue et laborieuse, mais elle est également sujette aux erreurs humaines. Afin d'améliorer l'efficacité du déploiement et de réduire les erreurs humaines, nous pouvons utiliser des outils de déploiement automatisés pour réaliser un déploiement et une restauration automatisés. Cet article explique comment utiliser Deployer pour implémenter le déploiement et la restauration automatisés des applications PHP.

1. Qu'est-ce que le déployeur ?
Deployer est un outil PHP pour le déploiement automatisé d'applications. Il est basé sur le script Shell et le protocole SSH et peut effectuer diverses tâches sur le serveur distant, telles que l'extraction de code, la migration de base de données, la configuration des autorisations de fichiers, etc. Il prend également en charge les fonctions de déploiement de cluster et de restauration de plusieurs serveurs.

2. Installer Deployer
Tout d'abord, nous devons installer Deployer dans l'environnement de développement local. Il peut être installé via Composer. La commande est la suivante :

$ composer require deployer/deployer --dev

3. Écrivez le fichier de configuration du déployeur
Créez un fichier déployer.php dans le répertoire racine du projet en tant que fichier de configuration du déployeur. Dans le fichier de configuration, nous pouvons définir diverses tâches et configurations liées au cluster de serveurs.

  1. Définissez le serveur

    server('stage', 'example.com') 
     ->user('deploy')
     ->identityFile('~/.ssh/id_rsa')
     ->set('deploy_path', '/var/www/stage.example.com');

    Dans cet exemple, nous définissons un serveur nommé stage, spécifions le nom d'hôte et l'utilisateur du serveur, ainsi que le répertoire du projet sur le serveur.

  2. Définir des tâches

    task('deploy', [
     'deploy:info',
     'deploy:prepare',
     'deploy:update_code',
     'deploy:shared',
     'deploy:writable',
     'deploy:clear_paths',
     'deploy:symlink',
     'deploy:unlock',
     'cleanup',
     'success'
    ]);

    Dans cet exemple, nous définissons une tâche nommée déployer, qui comprend des sous-tâches de divers processus de déploiement.

4. Exécuter le déploiement et la restauration

  1. Exécuter le déploiement

    $ dep deploy stage

    Après avoir exécuté la commande ci-dessus, Deployer se connectera au serveur de scène, exécutera chaque sous-tâche définie dans la tâche de déploiement et terminera le processus de déploiement de la demande. Vous pouvez afficher des informations de journal détaillées pendant le processus de déploiement et gérer les erreurs pendant le processus de déploiement.

  2. Effectuer une restauration

    $ dep rollback stage

    Si quelque chose ne va pas pendant le déploiement, vous pouvez utiliser la commande rollback pour restaurer l'application à la version stable précédente. Le déployeur se connectera au serveur de scène, effectuera des tâches de restauration et restaurera le code et les fichiers de configuration à leur état précédent.

5. Autres fonctions et extensions
Deployer fournit également de nombreuses autres fonctions et extensions qui peuvent être configurées et utilisées en fonction de besoins spécifiques.

  1. Déploiement parallèle
    Vous pouvez accélérer le processus de déploiement en configurant des tâches parallèles. Par exemple, les applications peuvent être déployées simultanément sur plusieurs serveurs pour augmenter l'efficacité du déploiement.
  2. Tâches personnalisées
    Deployer vous permet de personnaliser les tâches et de les ajouter au processus de déploiement. Vous pouvez écrire votre propre code de tâche en fonction de besoins spécifiques, tels que la migration de bases de données, le nettoyage du cache, etc.
  3. Plugins d'extension
    Deployer fournit de nombreux plugins d'extension qui peuvent être utilisés à diverses fins, telles que la prise en charge du framework Laravel, la prise en charge de npm/bower build, etc. Vous pouvez choisir d'utiliser le plug-in correspondant en fonction des besoins de votre projet.

Conclusion : 
Avec Deployer, nous pouvons facilement mettre en œuvre un déploiement et un rollback automatisés d'applications PHP. Cela améliore non seulement l’efficacité du déploiement, mais réduit également l’apparition d’erreurs humaines. J'espère que cet article pourra aider tout le monde à réaliser un déploiement automatisé.

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