DEV Community

Martin Lechêne
Martin Lechêne

Posted on

Deployer Laravel

Déployer les mises à jour de votre projet Laravel sur le serveur peut sembler complexe, mais nous pouvons le diviser en quatre étapes simples : gérer les modifications de code, gérer les dépendances, traiter les mises à jour de la base de données et nettoyer l'environnement. Explorons chacune de ces étapes de manière simple.

Phase 0 : Préparation au déploiement - Assurer la stabilité du système

Avant de déployer des changements, il est essentiel de prendre en compte les perturbations potentielles pendant le processus. Deux options s'offrent à vous :

  1. Rendre le système inaccessible pendant le déploiement :

    • Utilisez la commande php artisan down au début du processus.
    • Cela rendra votre application inaccessible avec un message "SERVICE UNAVAILABLE" et un code HTTP 503.
    • Les utilisateurs ne pourront y accéder qu'une fois que vous l'aurez ramenée en ligne avec php artisan up.
  2. Outils de déploiement sans interruption :

    • Explorez des outils de déploiement sans interruption, discutés plus en détail ultérieurement.

Phase 1 : Mise à jour du code

  1. Mettez à jour votre code avec la commande git pull depuis la branche sur laquelle vous travaillez.
    • Par exemple, pour le serveur de production : git pull origin main.
    • Pour un serveur de test : git pull origin develop.

Phase 2 : Gestion des dépendances

  1. Modifications locales :

    • Utilisez Composer sur votre environnement de développement local pour installer de nouveaux packages ou mettre à jour les existants avec composer require ou composer update.
    • Cela met à jour le fichier composer.lock qui enregistre les versions exactes des packages.
  2. Pousser les changements :

    • Poussez le fichier composer.lock mis à jour sur votre référentiel Git.
  3. Déploiement :

    • Lorsque vous êtes prêt à déployer, exécutez composer install sur le serveur.

Phase 3 : Gestion des changements de base de données

  1. Appliquer les changements à la base de données avec php artisan migrate.

    • Pour une exécution automatique, utilisez php artisan migrate --force.
  2. Ajouter des données initiales :

    • Automatisez cela directement dans le fichier de migration ou utilisez php artisan db:seed pour l'exécution manuelle.

Phase 4 : Gestion des changements d'environnement

  1. Effacer les caches avec php artisan cache:clear, php artisan route:clear, et php artisan view:clear.

  2. Pour une version spécifique de PHP, rechargez le service PHP-FPM avec echo "" | sudo -S service php8.1-fpm reload.

  3. Redémarrez les files d'attente si votre application utilise des tâches en arrière-plan.

Phase finale : Rétablir l'application

Si vous avez utilisé php artisan down au début, n'oubliez pas de la rendre à nouveau accessible avec php artisan up.

Script complet pour le déploiement :

cd /home/some-subfolders/your-app-folder
php artisan down
git pull origin main
composer install --no-interaction --no-dev
php artisan migrate --force
php artisan cache:clear
php artisan route:clear
php artisan view:clear
echo "" | sudo -S service php8.1-fpm reload
php artisan up
Enter fullscreen mode Exit fullscreen mode

N'oubliez pas que ces étapes peuvent varier en fonction de votre application, de votre configuration Git, de votre environnement serveur, etc. Utilisez ces étapes comme base, en les ajustant selon vos besoins spécifiques.

Top comments (0)