Maison outils de développement git Explication détaillée des étapes pour déployer des projets Github sur le serveur

Explication détaillée des étapes pour déployer des projets Github sur le serveur

Mar 27, 2023 am 10:53 AM
git github

Github est actuellement la plus grande communauté open source au monde. De nombreux programmeurs hébergent leur code sur Github pour utiliser ses fonctions pratiques de contrôle de version et de collaboration. Cependant, le projet sur Github n'est que du code et son déploiement sur le serveur pour son exécution nécessite un travail supplémentaire. Cet article vous présentera les étapes spécifiques.

1. Connectez-vous au serveur

Utilisez SSH pour vous connecter à distance et entrez la commande :

ssh root@your_server_ip
Copier après la connexion

2. Installez le logiciel nécessaire

Installez Git et Node.js sur le serveur. En prenant le système Ubuntu comme exemple, exécutez la commande suivante :

sudo apt-get update
sudo apt-get install git
sudo apt-get install nodejs
Copier après la connexion

3. Créez un référentiel Git sur le serveur

Créez un répertoire vide sur le serveur et initialisez-y un référentiel Git, exécutez la commande suivante :

mkdir myapp
cd myapp
git init --bare
Copier après la connexion

4. Configurez Git Hooks

Ajoutez un hook de post-réception dans le référentiel Git pour déployer automatiquement l'application :

cd hooks
touch post-receive
sudo chmod +x post-receive
nano post-receive
Copier après la connexion

Entrez le contenu suivant dans l'éditeur de texte ouvert :

#!/bin/bash
git --work-tree=/var/www/html/myapp --git-dir=/root/myapp.git checkout -f
cd /var/www/html/myapp
sudo npm install
Copier après la connexion

Le. Le script extraira automatiquement le code dans /var/www/html/myapp et exécutera la commande npm install pour installer les dépendances du projet.

5. Configurez les Webhooks sur Github

Connectez-vous à Github, cliquez sur l'option Webhooks dans la page Paramètres du projet, puis cliquez sur le bouton Ajouter un webhook. Entrez l'adresse IP du serveur et le chemin d'accès au hook de post-réception dans l'URL de charge utile, par exemple : http://your_server_ip:8000/hooks/post-receive. Sélectionnez application/json dans Type de contenu et cliquez sur Ajouter un webhook.

6. Ajoutez l'adresse du serveur dans le code local

Modifiez le fichier package.json dans le code local et ajoutez le contenu suivant :

{
  "scripts": {
    "start": "node app.js",
    "deploy": "git push deploy master"
  },
  "config": {
    "deploy": {
      "production": {
        "user": "root",
        "host": "your_server_ip",
        "ref": "origin/master",
        "repo": "ssh://git@your_server_ip:/root/myapp.git",
        "path": "/var/www/html/myapp",
        "ssh_options": ["StrictHostKeyChecking=no", "PasswordAuthentication=no"],
        "post-deploy": "npm install && pm2 restart app"
      }
    }
  }
}
Copier après la connexion

Parmi eux, le script de déploiement poussera le code vers le myapp.git Warehouse sur le serveur dans ; certains éléments de configuration sont définis dans config/deploy/production, notamment l'adresse IP du serveur, le chemin du projet, le chemin du hook, etc.

7. Exécuter le déploiement du code

Exécutez la commande suivante dans le répertoire de code local :

npm run deploy production
Copier après la connexion

Cette commande poussera le code vers le serveur, déclenchera le hook post-réception et déploiera automatiquement le code sur /var/. Répertoire www/html/myapp.

8. Démarrez l'application

Allez dans le répertoire /var/www/html/myapp et exécutez la commande suivante pour démarrer l'application :

npm start
Copier après la connexion

L'application devrait maintenant pouvoir s'exécuter sur le serveur ! Si l'application ne démarre pas, vous devez vérifier que les dépendances sont correctement installées et que l'application est correctement configurée.

Résumé :

Voici les étapes ci-dessus pour déployer le projet sur Github sur le serveur. Bien que ce processus puisse sembler fastidieux, l’utilisation de cette approche permet un déploiement de code et une collaboration efficaces. Dans le même temps, cela nous offre également d'excellentes opportunités d'apprentissage, nous permettant d'avoir une compréhension plus approfondie de Git, Node.js et d'autres technologies.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment exécuter le projet H5 Comment exécuter le projet H5 Apr 06, 2025 pm 12:21 PM

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Apr 04, 2025 pm 11:54 PM

GiteEpages STATIQUE Le déploiement du site Web a échoué: 404 Dépannage des erreurs et résolution lors de l'utilisation de Gitee ...

Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Comment résoudre le problème de conversion de type user_id lors de l'utilisation du flux redis pour implémenter les files d'attente de messages dans le langage Go? Apr 02, 2025 pm 04:54 PM

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

La production de pages H5 nécessite-t-elle une maintenance continue? La production de pages H5 nécessite-t-elle une maintenance continue? Apr 05, 2025 pm 11:27 PM

La page H5 doit être maintenue en continu, en raison de facteurs tels que les vulnérabilités du code, la compatibilité des navigateurs, l'optimisation des performances, les mises à jour de sécurité et les améliorations de l'expérience utilisateur. Des méthodes de maintenance efficaces comprennent l'établissement d'un système de test complet, à l'aide d'outils de contrôle de version, de surveiller régulièrement les performances de la page, de collecter les commentaires des utilisateurs et de formuler des plans de maintenance.

Comment convertir XML en Excel Comment convertir XML en Excel Apr 03, 2025 am 08:54 AM

Il existe deux façons de convertir XML en Excel: utilisez des fonctionnalités Excel intégrées ou des outils tiers. Les outils tiers incluent XML pour Excel Converter, XML2Excel et XML Candy.

Dans la programmation GO, comment gérer correctement les ressources de connexion et de libération entre MySQL et Redis? Dans la programmation GO, comment gérer correctement les ressources de connexion et de libération entre MySQL et Redis? Apr 02, 2025 pm 05:03 PM

Gestion des ressources dans la programmation Go: MySQL et Redis se connectent et publient pour apprendre à gérer correctement les ressources, en particulier avec les bases de données et les caches ...

Pouvez-vous apprendre à faire des pages H5 par vous-même? Pouvez-vous apprendre à faire des pages H5 par vous-même? Apr 06, 2025 am 06:36 AM

Il est possible de l'auto-étude de la production de pages H5, mais ce n'est pas un succès rapide. Il nécessite la maîtrise de HTML, CSS et JavaScript, impliquant la conception, le développement frontal et la logique d'interaction arrière. La pratique est la clé et apprenez en terminant des tutoriels, en examinant le matériel et en participant à des projets open source. L'optimisation des performances est également importante, nécessitant une optimisation des images, la réduction des demandes HTTP et l'utilisation de cadres appropriés. La route vers l'auto-apprentissage est longue et nécessite un apprentissage et une communication continus.

Comment construire rapidement une page de premier plan dans un projet React Vite à l'aide d'outils AI? Comment construire rapidement une page de premier plan dans un projet React Vite à l'aide d'outils AI? Apr 04, 2025 pm 01:45 PM

Comment construire rapidement une page frontale en développement back-end? En tant que développeur backend avec trois ou quatre ans d'expérience, il a maîtrisé le JavaScript de base, CSS et HTML ...

See all articles