
Introduction
Vous avez développé un projet Laravel et vous souhaitez maintenant le déployer en production ? GitLab CI/CD est une solution puissante pour automatiser ce processus. Dans ce tutoriel, nous allons vous guider pas à pas pour déployer votre projet Laravel avec GitLab. À la fin, vous aurez un projet fonctionnel en ligne, prêt à être utilisé par vos utilisateurs.
Pré-requis et vision d’ensemble
Avant de commencer, assurez-vous d’avoir les éléments suivants :
- Un projet Laravel fonctionnel
- Un compte GitLab
- Un serveur de production (par exemple, un VPS)
- Accès SSH au serveur
- Docker installé sur le serveur (optionnel mais recommandé)
Voici une vision d’ensemble des outils et du temps nécessaire :
Outil Version Temps estimé Laravel 7.x ou supérieur 30 minutes GitLab N/A 30 minutes Docker 19.x ou supérieur 30 minutes
Tutoriel pas-à-pas
Étape 1 : Préparer le projet Laravel
Objectif : Configurer le projet Laravel pour le déploiement.
- Assurez-vous que votre projet Laravel est versionné avec Git.
- Créez un fichier
.env.examplepour les variables d’environnement. - Ajoutez un fichier
.gitlab-ci.ymlà la racine de votre projet.
Voici un exemple de fichier .gitlab-ci.yml :
stages: - build - deploy build: stage: build script: - composer install - php artisan config:cache - php artisan route:cache - php artisan view:cache artifacts: paths: - vendor/ - bootstrap/cache/ deploy: stage: deploy script: - rsync -av --delete ./ user@your-server:/var/www/your-project - ssh user@your-server 'cd /var/www/your-project && php artisan migrate --force' only: - master
Pour vérifier que tout fonctionne, exécutez les commandes localement :
composer install php artisan config:cache php artisan route:cache php artisan view:cache
Erreurs fréquentes :
- Assurez-vous que votre serveur SSH est configuré correctement.
- Vérifiez que les chemins dans le fichier
.gitlab-ci.ymlsont corrects.
Étape 2 : Configurer GitLab CI/CD
Objectif : Configurer GitLab pour exécuter les pipelines de déploiement.
- Connectez-vous à votre compte GitLab et créez un nouveau projet.
- Poussez votre projet Laravel dans le dépôt GitLab.
- Accédez à l’onglet CI/CD dans votre projet GitLab et configurez les variables d’environnement nécessaires.
Exemple de variables d’environnement :
SSH_PRIVATE_KEY: Votre clé SSH privéeSSH_KNOWN_HOSTS: Le contenu de votre fichierknown_hosts
Pour vérifier que tout fonctionne, déclenchez manuellement un pipeline et observez les logs.
Erreurs fréquentes :
- Assurez-vous que les variables d’environnement sont correctement configurées.
- Vérifiez que les permissions SSH sont correctes.
Étape 3 : Configurer le serveur de production
Objectif : Préparer le serveur pour accueillir le projet Laravel.
- Connectez-vous à votre serveur via SSH.
- Installez les dépendances nécessaires (PHP, Composer, Nginx/Apache).
- Configurez le serveur web pour servir votre projet Laravel.
Exemple de configuration Nginx :
server { listen 80; server_name your-domain.com; root /var/www/your-project/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; } }
Pour vérifier que tout fonctionne, accédez à votre domaine dans un navigateur.
Erreurs fréquentes :
- Assurez-vous que les permissions des fichiers et dossiers sont correctes.
- Vérifiez que le serveur web est configuré pour utiliser la bonne version de PHP.
Étape 4 : Tester le déploiement
Objectif : Vérifier que le déploiement automatique fonctionne correctement.
- Faites des modifications dans votre projet Laravel.
- Commitez et poussez les modifications dans le dépôt GitLab.
- Observez le pipeline de déploiement dans GitLab.
Pour vérifier que tout fonctionne, accédez à votre site web et vérifiez que les modifications sont en ligne.
Erreurs fréquentes :
- Assurez-vous que le pipeline GitLab se déclenche automatiquement.
- Vérifiez les logs de déploiement pour identifier les erreurs éventuelles.
En suivant ce tutoriel, vous avez appris à préparer votre projet Laravel pour le déploiement, à configurer GitLab CI/CD pour automatiser le processus, et à assurer une mise en production fluide et efficace. Ces étapes vous permettent de gagner en productivité et de garantir une qualité constante de votre application.
En maîtrisant le déploiement avec GitLab, vous bénéficiez d’une solution robuste et flexible, capable de s’adapter à vos besoins spécifiques. Vous pouvez ainsi vous concentrer sur le développement de nouvelles fonctionnalités tout en assurant une mise en production sans heurts.
Si vous avez des questions ou besoin d’aide supplémentaire pour déployer votre projet Laravel avec GitLab, n’hésitez pas à nous contacter au 09 77 29 09 69.
