Skip to main content
📝 Applications Laravel

Comment déployer automatiquement des projets Laravel en production avec GitHub Actions

Automatisez les déploiements Laravel en production avec GitHub Actions. Configuration complète du pipeline CI/CD — du push au live en minutes, sans étapes manuelles.

4 min

Temps de lecture

691

Mots

Apr 13, 2025

Publié

Engr Mejba Ahmed

Écrit par

Engr Mejba Ahmed

Partager l'article

Comment déployer automatiquement des projets Laravel en production avec GitHub Actions

Vous en avez assez de télécharger manuellement votre projet Laravel sur un serveur de production à chaque mise à jour ? Dans ce guide, vous apprendrez à automatiser votre processus de déploiement Laravel avec GitHub Actions — l'outil CI/CD intégré à GitHub, conçu pour le DevOps.

Optimisons votre flux de travail et déployez votre application Laravel sur votre VPS Hostinger (ou tout serveur accessible via SSH) avec un simple git push.

✅ Pourquoi utiliser GitHub Actions pour le déploiement Laravel ?

Utiliser GitHub Actions vous permet de :

  • Automatiser votre déploiement en production après chaque push.
  • Éviter l'utilisation d'outils FTP non sécurisés.
  • Gagner du temps et réduire les erreurs humaines.
  • Construire un véritable pipeline CI/CD en tant que développeur Laravel.

🧠 Prérequis

Avant de commencer, assurez-vous d'avoir :

  1. Un projet Laravel hébergé sur GitHub.
  2. Un VPS Hostinger ou un hébergement web avec accès SSH.
  3. Accès au terminal/ligne de commande.
  4. Composer installé sur votre serveur.

🛠️ Étape 1 : Générer une clé SSH et la télécharger sur Hostinger

  1. Générez une clé SSH sur votre machine locale :
ssh-keygen -t rsa -b 4096 -C "[email protected]"

Cela générera deux fichiers :

  • ~/.ssh/colorpark_hostinger (clé privée)
  • ~/.ssh/colorpark_hostinger.pub (clé publique)
  1. Ajoutez la clé publique à Hostinger :

Allez dans Hostinger → Avancé → Accès SSH → Clés SSH Cliquez sur Ajouter une clé SSH, collez le contenu de la clé publique depuis :

cat ~/.ssh/colorpark_hostinger.pub
  1. Sauvegardez le contenu de la clé privée pour l'ajouter comme GitHub Secret plus tard :
cat ~/.ssh/colorpark_hostinger

🔐 Étape 2 : Ajouter les GitHub Secrets

Dans votre dépôt GitHub :

Allez dans : Settings → Secrets and variables → Actions → New repository secret

Ajoutez les secrets suivants :

HOSTINGER_SSH_HOST='145.223.89.199'      # IP de votre serveur
HOSTINGER_SSH_PORT='65002'               # Votre port SSH
HOSTINGER_SSH_USER='u597250090'          # Votre nom d'utilisateur SSH
HOSTINGER_SSH_KEY='(collez le contenu de votre clé PRIVÉE)'
DEPLOY_PATH='/home/u597250090/domains/example.com/public_html'

📁 Étape 3 : Créer le Workflow GitHub Actions

Dans votre projet Laravel, créez le fichier suivant :

mkdir -p .github/workflows
touch .github/workflows/deploy.yml

Collez la configuration complète de deploy.yml suivante :

name: 🚀 Déployer sur Hostinger

on:
  push:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest

    steps:
      - name: Récupérer le code
        uses: actions/checkout@v3

      - name: Configurer la clé SSH
        run: |
          mkdir -p ~/.ssh
          echo "${{ secrets.HOSTINGER_SSH_KEY }}" > ~/.ssh/id_rsa
          chmod 600 ~/.ssh/id_rsa
          ssh-keyscan -p ${{ secrets.HOSTINGER_SSH_PORT }} ${{ secrets.HOSTINGER_SSH_HOST }} >> ~/.ssh/known_hosts

      - name: Déployer via rsync
        run: |
          rsync -avz --delete \
            --exclude=".env" \
            --exclude=".gitignore" \
            -e "ssh -p ${{ secrets.HOSTINGER_SSH_PORT }}" \
            ./ ${{ secrets.HOSTINGER_SSH_USER }}@${{ secrets.HOSTINGER_SSH_HOST }}:${{ secrets.DEPLOY_PATH }}

      - name: Commandes post-déploiement Laravel
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.HOSTINGER_SSH_HOST }}
          username: ${{ secrets.HOSTINGER_SSH_USER }}
          key: ${{ secrets.HOSTINGER_SSH_KEY }}
          port: ${{ secrets.HOSTINGER_SSH_PORT }}
          script: |
            cd ${{ secrets.DEPLOY_PATH }}
            composer install --no-dev --prefer-dist --no-interaction
            php artisan optimize:clear

🚀 Étape 4 : Poussez votre code pour déclencher le déploiement

Une fois tout configuré, poussez simplement votre projet Laravel vers la branche main :

git add .
git commit -m "🔧 Configurer GitHub Actions pour le déploiement automatique"
git push origin main

GitHub déclenchera automatiquement le déploiement. Vous pouvez consulter les logs dans l'onglet "Actions" de votre dépôt GitHub.


✅ Conseils bonus

  • Assurez-vous que votre serveur a les bonnes permissions de fichiers.
  • Sauvegardez toujours votre .env et votre base de données avant d'exécuter php artisan migrate --force.
  • Si vous utilisez un hébergement mutualisé, vérifiez qu'il prend en charge la connexion par clé SSH et composer.

📌 Réflexions finales

En intégrant GitHub Actions dans votre processus de déploiement Laravel, vous ne gagnez pas seulement du temps — vous construisez un workflow professionnel qui évolue.

Plus de téléchargements manuels, plus de FTP. Juste push et déployer. 🔥


Vous voulez créer plus d'automatisations comme celle-ci ?

👉 Suivez-nous pour plus de conseils Laravel DevOps et de tutoriels développeur full-stack.

Coffee cup

Vous avez apprécié cet article ?

Votre soutien m'aide à créer davantage de contenu technique approfondi, d'outils open source et de ressources gratuites pour la communauté des développeurs.

Sujets connexes

Engr Mejba Ahmed

À propos de l'auteur

Engr Mejba Ahmed

Engr. Mejba Ahmed builds AI-powered applications and secure cloud systems for businesses worldwide. With 10+ years shipping production software in Laravel, Python, and AWS, he's helped companies automate workflows, reduce infrastructure costs, and scale without security headaches. He writes about practical AI integration, cloud architecture, and developer productivity.

Discussion

Comments

0

No comments yet

Be the first to share your thoughts

Leave a Comment

Your email won't be published

7  x  2  =  ?

Continuer l'apprentissage

Articles connexes

Tout parcourir

Comments

Leave a Comment

Comments are moderated before appearing.

Learning Resources

Expand Your Knowledge

Accelerate your growth with structured courses, verified certificates, interactive flashcards, and production-ready AI agent skills.

Sample Certificate of Completion

Sample certificate — complete any course to earn yours

Engr Mejba Ahmed

Engr Mejba Ahmed

Claude Code Expert · Online

👋

Hey there!

Quick Actions

WhatsApp Instant reply

Chat on WhatsApp

+880 1723 741224 · Instant reply

Popular Questions

Engr Mejba Ahmed is connected
Engr Mejba Ahmed is typing...
Engr Mejba Ahmed avatar

✉ Want me to follow up? Drop your email

Engr Mejba Ahmed avatar

📞 Connect Directly

Choose how you'd like to reach me

WhatsApp

+880 1723 741224

Email

[email protected]

✓ Details sent! I'll get back to you shortly.

Powered by OpenAI

335+

Blog Posts

25

AI Courses

63

Projects

Services & Expertise

Pricing & Process

Learning & Resources

Connect & Support