déployer automatiquement une application Laravel avec deployer

Comment déployer automatiquement une application Laravel avec deployer

Partagez sur:

Dans ce tutoriel, nous allons avoir comment déployer automatiquement une application Laravel avec deployer.

Comment utiliser PostgreSQL avec Laravel

Vous avez déjà une application Laravel et un serveur ou un hébergement partagé. Vous devez maintenant automatiser le processus de déploiement.

Comment déployé une application Rails avec Mina, Puma et Nginx

Deployer vous aidera dans ce sens car il est livré avec des tas de fonctionnalités prêtes à l’emploi pour automatiser le déploiement d’une application basée sur Laravel.

 

Déployer automatiquement une application Laravel avec deployer

Avant de commencer à déployer automatiquement une application Laravel avec deployer, nous commencerons par l’installation de Deployer.

Exécutez les commandes suivantes dans le terminal:

curl -LO https://deployer.org/deployer.phar
mv deployer.phar /usr/local/bin/dep
chmod +x /usr/local/bin/dep

 

Ensuite, dans votre répertoire de projets, exécutez:

dep init -t Laravel

 

La commande créera le fichier deploy.php pour le déploiement de Laravel.

Ce fichier contient une configuration d’hôte et un exemple de tâche.

Tout d’abord, nous devons configurer la configuration du référentiel de notre application:

set('repository', 'git@github.com:user/project.git');

 

Deuxièmement, configurez l’hôte:

host('domain.org')
    ->set('deploy_path', '/var/www/html');

 

Assurez-vous que ~/.ssh/config contient domain.org et vous pouvez vous connecter à l’hôte en ssh.

Un autre paramètre important est deploy_path, où votre projet sera situé sur l’hôte distant.

Faisons notre premier déploiement:

dep deploy

 

Si tout se passe bien, le déploiement créera la structure suivante sur l’hôte distant dans deploy_path:

├── .dep
├── current -> releases/1
├── releases
│   └── 1
└── shared
    ├── .env
    └── storage

 

  • releases contient les versions de déploiement de l’application Laravel,
  • shared contient la configuration et le stockage .env qui seront liés symboliquement à chaque version,
  • current est un lien symbolique vers la dernière version,
  • dep contient des métadonnées spéciales pour le déployeur (journal des versions, fichier deploy.log, etc.).

Configurez votre serveur pour servir les fichiers à partir des fichiers actuels.

Par exemple, si vous utilisez nginx ensuite:

server {
  listen 80;
  server_name domain.org;

  root /var/www/html/current/public;

  location / {
    try_files $uri /index.php$is_args$args;
  }
}

 

Vous pourrez désormais servir votre projet laravel:

Si vous souhaitez migrer automatiquement la base de données, Laravel est livrée avec la tâche artisan:migrate.

Ajoutez ces lignes à votre deploy.php:

after('deploy:update_code', 'artisan:migrate');

 

Plus d’informations sur la configuration et les déclarations de tâches dans la documentation.

Conclusion

Dans ce tutoriel, nous avons appris comment déployer automatiquement une application Laravel avec Deployer.

Si vous avez des remarques et suggestions, veuillez laisser un commentaire sous cet article.

Bonne lecture !


Partagez sur: