Maison >développement back-end >tutoriel php >Déployez votre site Web à l'aide de Laravel et Git

Déployez votre site Web à l'aide de Laravel et Git

Jennifer Aniston
Jennifer Anistonoriginal
2025-02-20 10:44:11454parcourir

Deploy Your Website Using Laravel and Git

Points de base

  • La combinaison de Laravel et Git permet un déploiement efficace du site Web, Git gère les modifications de fichiers et Laravel automatise les tâches répétitives, permettant un processus de déploiement simplifié et contrôlable.
  • Le processus de déploiement comprend: la configuration d'un référentiel central, le clonage du référentiel pour créer des sites Web locaux et en ligne et l'installation de Laravel. Utilisez ensuite GIT pour suivre les modifications des fichiers et appuyez sur ces modifications dans le référentiel central sur le serveur de production.
  • Laravel peut automatiser le processus de déploiement en créant des itinéraires qui référennent les contrôleurs, la création de contrôleurs et la répétition des workflows de déploiement GIT en utilisant la façade SSH de Laravel. Accédez simplement aux URL spécifiques à déployer facilement.
  • Pour assurer la sécurité du déploiement, assurez-vous d'éviter l'accès non autorisé à la page de déploiement. Cela peut être fait en utilisant .gitignore pour ignorer certains fichiers et vérifier s'ils existent avant d'exécuter l'itinéraire de déploiement. Les autres méthodes incluent la protection par mot de passe ou la restriction d'adresse IP.

Deploy Your Website Using Laravel and Git

Le développement Web réussi est inséparable à partir de workflows de déploiement de sites Web efficaces. Que votre flux de travail soit bon ou mauvais ou non, si le site Web n'est pas disponible, les clients ne pourront pas payer les fruits de votre travail acharné.

Il existe de nombreuses façons de déployer un site Web sur un serveur de production, chacun avec ses avantages et ses inconvénients, mais les méthodes de départ et de fin sont les mêmes. La clé d'un bon flux de travail de déploiement de site Web est les étapes intermédiaires.

L'autre jour, j'ai utilisé Filezilla pour télécharger des fichiers sur mon serveur de production. J'ai toujours senti que l'interface de Filezilla n'était pas très sympathique, mais pendant longtemps, je pensais que c'était une pratique standard.

Pour le même projet, j'utilise également GIT pour suivre les modifications des fichiers. Quand j'ai commencé à taper git push origin, je me suis arrêté et j'ai pensé un instant. Si le déploiement du site Web est aussi simple que de pousser un référentiel GIT, ne serait-il pas beaucoup plus pratique?

y penser attentivement, Git est l'outil parfait pour gérer les fichiers de déploiement du site Web. Il suit toutes les modifications de fichiers et pousse ou tire ce que vous voulez avec une seule commande. J'ai décidé de commencer à rechercher Google un moyen d'utiliser GIT lors du déploiement de mon propre site Web.

Une façon populaire pour déployer des sites Web à l'aide de GIT est de tirer le meilleur parti des crochets GIT (Tom Oram aime utiliser des méthodes similaires). Imaginez que Git Hooks démarrera un script prédéfini en tapant simplement git push origin dans la console terminale. Ce script prédéfini accède à votre serveur de production et tire les dernières modifications de fichier. Vous pouvez également mettre à jour votre site Web en utilisant les mêmes commandes que les modifications push. Je pensais que cette approche était géniale jusqu'à ce que je réalise que ce n'est pas parce que je poussais le référentiel local que j'étais prêt à être en ligne.

Je veux un moyen de pousser un référentiel aussi simple que de l'utilisation de Git. Plus important encore, je veux avoir un contrôle total lors de la mise en ligne du contenu. J'ai trouvé un flux de travail similaire qui gère les transferts de fichiers à l'aide de GIT. Plus important encore, j'ai également constaté qu'il est possible d'utiliser le framework PHP Laravel pour automatiser des tâches plus répétitives.

Ce qui suit est le flux de travail de déploiement de mon site Web:

Paramètres structurels

Dans cette section, nous configurerons un référentiel de - Bare comme référentiel central et créerons deux référentiels par clonage. L'un est notre site Web local où nous effectuerons le processus de déploiement; Nous installerons également Laravel.

Deploy Your Website Using Laravel and Git

Avant de commencer, vous avez besoin d'un serveur local et d'un serveur de production avec GIT installé.

Ressources utiles:
  • Installation de homestead_improved
  • Installation de git et revue

1.

SSH Connectez-vous à votre serveur de production et trouvez le répertoire où vous souhaitez que le référentiel central soit situé.

<code>ssh username@domain.com
cd repos</code>
Initialisez maintenant votre référentiel.

<code>git init --bare --shared mywebsite.git</code>
Ce dossier est généralement recommandé de le placer en dehors de la structure du dossier public. De cette façon, d'autres ne tombent pas accidentellement sur votre référentiel privé.

2.

Déterminez où héberger les fichiers du site Web sur votre

.

public_html

Clone le référentiel central - Bare que vous venez de créer et de vous déconnecter de cette session SSH.
<code>cd ~/public_html/</code>

3.
<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite
exit</code>
Si vous utilisez quelque chose comme Homestead, vous devrez peut-être utiliser la commande Vagrant sur SSH pour vous connecter à votre serveur local pour accéder à vos fichiers.

Suivez les étapes que vous venez de créer un site Web en ligne.

<code>vagrant ssh</code>

4.

Avant de configurer Laravel, vous devez l'installer sur votre site Web local.
<code>cd websites
git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>

Ressources utiles:

Installation Laravel
    Ajoutez les paramètres de votre serveur distant au fichier de configuration en ouvrant
  • .

/app/config/remote.php Souvenez-vous de la clé "Production", car nous devons la référencer plus tard.

<code>'connections' => array(
        'production' => array( 
            'host'      => 'domain.com',
            'username'  => 'username',
            'password'  => '********************',
            'key'       => '',
            'keyphrase' => '',
            'root'      => '/var/www',
        ),
    ),</code>
Ajoutez vos fichiers au référentiel de sites Web local afin que nous puissions suivre toutes les modifications.

Exécutez votre engagement initial.

<code>git add .</code>
Enfin, poussez vers le référentiel central sur le serveur de production.

<code>git commit -m 'initial commit with laravel'</code>

<code>git push origin master</code>
Lorsque vous accédez à votre Host local, vous devriez voir l'écran de Laravel "You Have Arrive".

Deploy Your Website Using Laravel and Git bon travail! Vous avez tous configuré et configuré, et maintenant vous devriez être prêt à creuser dans un contenu intéressant.

flux de travail de base en utilisant git

Une fois tout configuré, il sera facile de déployer votre site Web à l'aide de Git. Regardons le code et essayons de comprendre son contenu principal.

Il est important de comprendre le flux de travail, car nous le réécrivrons plus tard dans PHP en utilisant Laravel. Cela nous aide également à déboguer les problèmes qui peuvent survenir.

1.

<code>ssh username@domain.com
cd repos</code>

2.

<code>git init --bare --shared mywebsite.git</code>

Si vous avez tous été corrects jusqu'à présent, vous devriez voir l'écran de Laravel "You Have Arrive" lors de la visite de votre site en ligne.

Si vous voulez vous arrêter ici, je n'aurai aucune opinion sur vous. Il s'agit d'un flux de travail de déploiement assez fiable en soi. Mais nous pouvons le rendre plus efficace en l'automatisant avec Laravel.

Déploiement automatique avec Laravel

ok, maintenant que nous savons comment déployer un site Web à l'aide de Git, utilisons Laravel pour automatiser ce processus. Cette pièce peut ne pas être nécessaire, mais si vous utilisez déjà Laravel, je demanderais: «Pourquoi pas?» Utiliser Laravel ici rend ce flux de travail de déploiement de site Web simple, efficace, contrôlable et personnalisable.

1.

Ouvrez la page /app dans le dossier routes.php et ajoutez la ligne de code PHP suivante au fichier.

<code>cd ~/public_html/</code>

Chaque fois que nous accédons à http://localhost/deploy, la fonction commune du contrôleur Server est exécutée. deploy

2.

Commencez par une classe

vide qui étend BaseController. Server

<code>git clone username@domain.com:~/repos/mywebsite.git mywebsite
exit</code>
Insérez maintenant la fonction commune

dans le contrôleur. deploy

<code>vagrant ssh</code>
Enregistrez-le dans votre dossier

et nommez-le /app/controllers. Server.php

La partie intéressante est là!

3.

deploy Insérez la façade SSH. Nous voulons accéder à la configuration distante de production que nous avons configurée précédemment.

Maintenant, la fonction
<code>cd websites
git clone username@domain.com:~/repos/mywebsite.git mywebsite</code>
acceptera deux paramètres que nous devons fournir. Le premier et le plus important paramètre est le tableau de commandes de terminal que nous voulons exécuter lors de l'exécution de la fonction

. run() deploy

La seconde est la fonction que nous voulons appeler pour gérer les commentaires que nous recevons du serveur.
<code>'connections' => array(
        'production' => array( 
            'host'      => 'domain.com',
            'username'  => 'username',
            'password'  => '********************',
            'key'       => '',
            'keyphrase' => '',
            'root'      => '/var/www',
        ),
    ),</code>

Maintenant, chaque fois que nous voulons déployer notre site Web, nous avons juste besoin de visiter
<code>git add .</code>
. Assez simple? Oui, pas exactement.

http://localhost/deploy Nous devons faire face à certaines vulnérabilités de sécurité avant de l'appeler la fin. Tout le monde peut tomber sur

et déployer notre site Web. Ce que nous devons faire, c'est mettre en place quelque chose pour empêcher cela.

Il existe de nombreuses façons de le faire, et nous pouvons affirmer quelle méthode est la plus sûre jusqu'à ce que nous soyons épuisés. Vous pouvez protéger le mot de passe de l'itinéraire, vous pouvez bloquer l'accès via une adresse IP, etc.

Dans cet exemple, nous utiliserons .gitignore et vérifierons si le fichier existe, puis exécuterons l'itinéraire que nous venons de créer.

4. controllers .gitignore Créez un nouveau fichier et enregistrez-le dans Server.php et nommez-le

.

/app/controllers Ajoutez la ligne de texte suivante au fichier et enregistrez-la. .gitignore

5.

<code>ssh username@domain.com
cd repos</code>
Vous vous souvenez de l'itinéraire que nous avons créé avant de déployer notre site Web? Nous devons l'envelopper avec cette déclaration conditionnelle, puis nous pouvons aller en ligne.

Server.php

Quand il est terminé, cela devrait ressembler à ceci.

<code>git init --bare --shared mywebsite.git</code>

Soyez créatif

<code>cd ~/public_html/</code>

c'est tout! Enregistrez simplement tous les fichiers, engagements et poussées mis à jour et vous pouvez commencer à déployer avec des workflows adaptés à Git.

Vous pouvez aller plus loin si vous le souhaitez. Ajoutez simplement

à votre signet pour un déploiement rapide en un clic. Vous pouvez même créer un formulaire HTML simple à publier sur la page, vous permettant de tirer des branches spécifiques. Les possibilités sont infinies. Deploy Your Website Using Laravel and Git

Le déploiement avec Git et Laravel rend mon site ennuyeux Tâches de déploiement des tâches. Si vous connaissez Git, c'est facile à configurer, mais c'est plus facile à utiliser.

http://localhost/deploy Veuillez partager avec moi les méthodes créatives que vous avez utilisées pour simplifier le déploiement du site Web!

FAQ (FAQ) pour le déploiement de sites Web avec Laravel et Git

Comment résoudre les conflits lors du déploiement d'un site Web Laravel à l'aide de Git? Les affrontements peuvent se produire lors du déploiement de sites Web Laravel à l'aide de GIT, en particulier lorsque plusieurs développeurs travaillent sur le même projet. Pour résoudre ces conflits, vous devez utiliser l'outil de résolution des conflits de Git. Lorsque le conflit se produit, Git mettra en pause la base de changement et vous donnera une chance de réparer le conflit. Vous pouvez ensuite utiliser

pour ajouter les fichiers résolus et utiliser

pour continuer à réprimander. Avant de commencer à travailler, assurez-vous de toujours extraire les derniers modifications du référentiel pour minimiser les conflits.

Comment utiliser efficacement Git Branch dans mon projet Laravel? git add git rebase --continue Git Branch est un outil puissant pour gérer différentes versions de projets Laravel. Vous pouvez créer une nouvelle branche pour chaque fonctionnalité ou correction de bogue, qui vous permet de gérer plusieurs tâches simultanément sans affecter la base de code principale. Une fois la tâche terminée, vous pouvez fusionner les branches vers la base de code principale. Cette méthode garantit que la base de code principale reste stable et sans erreur.

Comment utiliser GIT pour automatiser le processus de déploiement de mon site Web Laravel?

Le processus de déploiement automatisé peut économiser beaucoup de temps et d'efforts. Vous pouvez utiliser Git Hooks, qui sont des scripts que GIT exécute avant ou après des événements tels que Commit, Push et Recevoir. Vous pouvez écrire un script qui déploie automatiquement votre site Web chaque fois que vous appuyez vers la branche principale. De cette façon, vous pouvez vous assurer que votre site Web est toujours cohérent avec les derniers modifications.

Comment utiliser le GIT pour faire reculer les changements dans les projets Laravel?

git fournit plusieurs façons de faire reculer les changements. Vous pouvez utiliser git revert pour créer un nouvel engagement pour annuler les modifications apportées dans un engagement spécifique. Alternativement, vous pouvez utiliser git reset pour déplacer le pointeur de tête vers le commit précédent, "oublié" le commit qui apparaît par la suite. Soyez prudent lorsque vous utilisez git reset car il peut supprimer définitivement vos modifications.

Comment assurer la sécurité de votre projet Laravel lors du déploiement avec GIT?

La sécurité est un aspect important de tout projet de développement Web. Lors du déploiement de projets Laravel avec GIT, assurez-vous d'ajouter des fichiers sensibles (tels que .env) à vos fichiers .gitignore pour les empêcher d'être engagés dans le référentiel. De plus, les protocoles sécurisés tels que SSH ou HTTPS sont toujours utilisés lors de la poussée et du tirage du référentiel.

Comment utiliser GIT pour gérer les migrations de la base de données dans les projets Laravel?

Le système de migration de Laravel est un outil puissant pour gérer les schémas de base de données. Lors du déploiement d'un projet, vous pouvez utiliser php artisan migrate pour appliquer les migrations en attente. Cependant, soyez prudent lorsque vous travaillez avec plusieurs développeurs, car les migrations conflictuelles peuvent causer des problèmes. Tirez toujours les derniers changements du référentiel pour éviter les conflits avant de créer une nouvelle migration.

Comment collaborer avec d'autres développeurs sur mon projet Laravel en utilisant GIT?

git est un puissant outil de collaboration. Vous pouvez utiliser les branches pour gérer les différentes fonctionnalités simultanément et utiliser les demandes de traction pour examiner et fusionner les modifications dans la base de code principale. De plus, l'outil de résolution des conflits de Git peut vous aider à résoudre les conflits qui se produisent lorsque vous fusionnez les modifications.

Comment utiliser GIT pour suivre les changements dans les projets Laravel?

Git fournit un historique complet de tous les changements dans le projet. Vous pouvez afficher l'historique des engagements à l'aide de git log et utiliser git diff pour afficher les modifications apportées dans un engagement spécifique. Ceci est très utile pour déboguer et comprendre l'évolution du projet.

Comment optimiser les performances d'un site Web de Laravel lors du déploiement avec GIT?

L'optimisation des performances est un aspect clé du développement Web. Lors du déploiement de sites Web Laravel avec GIT, vous pouvez utiliser la mise en cache intégrée de Laravel pour améliorer les performances. Envisagez également d'utiliser CDN pour fournir des ressources statiques et optimisez vos images et autres ressources pour réduire le temps de chargement.

Comment utiliser GIT pour gérer les erreurs et les exceptions dans les projets Laravel?

La gestion correcte des erreurs et des exceptions est essentielle pour une expérience utilisateur fluide. Laravel fournit un puissant système de gestion des exceptions que vous pouvez utiliser pour gérer différents types d'erreurs. Lorsqu'une erreur se produit, vous pouvez utiliser GIT pour revenir à l'état stable précédent tout en fixant l'erreur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn