Deployer
Deployer
Dans ce chapitre, nous allons aborder un aspect crucial du développement d'applications web : le déploiement. Le déploiement est l'étape où nous prenons notre application développée localement et la mettons en ligne pour que tout le monde puisse y accéder.
Nous allons créer un nouveau projet Laravel, un framework PHP populaire, et y intégrer l'authentification grâce au package Laravel Breeze. Ensuite, nous sauvegarderons notre projet sur GitHub, un service d'hébergement pour les projets versionnés avec Git.
Ensuite, nous allons installer et configurer Deployer, un outil de déploiement pour PHP. Nous verrons comment créer une configuration de déploiement et comment déployer notre application avec un utilisateur spécifique.
Enfin, nous allons mettre en place un système de CI/CD avec GitHub Actions. Les systèmes de CI/CD sont essentiels pour la livraison continue de logiciels de qualité. Ils nous permettent d'automatiser des tâches telles que les tests et le déploiement, ce qui accélère le processus de développement et assure que notre application est toujours dans un état déployable.
Création d'un nouveau projet Laravel
Installation de Laravel
Avant de commencer, assurez-vous d'avoir installé Composer, l'outil de gestion des dépendances de PHP, sur votre machine.
Création d'un nouveau projet Laravel
Pour créer un nouveau projet Laravel, utilisez la commande suivante :
composer create-project laravel/laravel nom_du_projet
Remplacez "nom_du_projet" par le nom que vous souhaitez donner à votre projet. Cette commande crée un nouveau répertoire avec le nom du projet et installe une nouvelle instance de Laravel dans ce répertoire.
Installation du package Laravel Breeze
Introduction à Laravel Breeze
Laravel Breeze est un kit de démarrage minimal pour la construction d'une application Laravel avec authentification. Il fournit une bonne base pour commencer à construire votre application.
Installation de Laravel Breeze
Pour installer Laravel Breeze, utilisez la commande suivante dans le répertoire de votre projet :
composer require laravel/breeze --dev
Ensuite, installez Breeze en utilisant la commande :
php artisan breeze:install
Cette commande installe les vues d'authentification et le contrôleur d'authentification de Breeze.
Créez une base de données et renseignez les informations de connexion dans le fichier .env.
Exécutez la commande suivante pour créer les tables :
php artisan migrate
Sauvegarde du projet sur GitHub
Initialisation d'un dépôt Git
Pour initialiser un dépôt Git dans votre projet, utilisez la commande suivante :
git init
Cette commande crée un nouveau dépôt Git dans votre répertoire de projet.
Ajout du projet au dépôt Git
Pour ajouter votre projet au dépôt Git, utilisez les commandes suivantes :
git add .
git commit -m "Initial commit"
Ces commandes ajoutent tous les fichiers de votre projet au dépôt Git et créent un premier commit avec le message "Initial commit".
Création d'un dépôt GitHub
Allez sur GitHub et créez un nouveau dépôt. Ne cochez pas l'option "Initialize this repository with a README", car vous avez déjà un projet existant que vous souhaitez pousser sur GitHub.
Push du projet sur GitHub
Pour pousser votre projet sur GitHub, utilisez les commandes suivantes :
git remote add origin url_de_votre_dépôt_github
git push -u origin master
Remplacez "url_de_votre_dépôt_github" par l'URL de votre dépôt GitHub. Ces commandes poussent votre projet sur GitHub.
Installation et configuration du package Deployer
Présentation de Deployer
Deployer est un outil de déploiement qui permet d'automatiser le déploiement de vos applications PHP sur des serveurs distants.
Installation de Deployer
Pour installer Deployer, utilisez la commande suivante dans votre terminal :
composer require deployer/deployer --dev
Création de la configuration de déploiement
Après avoir installé Deployer, créez un fichier "deploy.php" à la racine de votre projet. Ce fichier contiendra les tâches de déploiement spécifiques à votre application.
Déploiement automatique avec l'utilisateur Deployer
Configuration de l'utilisateur Deployer
Dans le fichier "deploy.php", configurez l'utilisateur Deployer en définissant le serveur de déploiement et le chemin de déploiement.
Déploiement du projet avec Deployer
Pour déployer votre projet avec Deployer, utilisez la commande suivante :
dep deploy production
Mise en place d'un système de CI/CD avec GitHub Actions
Introduction à GitHub Actions
GitHub Actions est un outil de CI/CD qui permet d'automatiser votre workflow de développement. Avec GitHub Actions, vous pouvez créer des workflows personnalisés pour construire, tester, empaqueter, publier et déployer votre code.
Création d'un workflow de CI/CD
Pour créer un workflow de CI/CD, créez un nouveau fichier dans le répertoire ".github/workflows" de votre projet. Ce fichier définira les étapes de votre workflow de CI/CD.
Configuration du workflow pour le déploiement automatique
Dans le fichier de workflow, configurez les étapes de build, de test et de déploiement pour déployer automatiquement votre application à chaque push sur la branche master.
