Passer au contenu principal




Si vous suivez ce tutoriel simple en deux parties à la lettre, vous pourrez créer une application en utilisant Node.js avec Heroku, en quelques minutes.

Dans ce didacticiel, nous supposons que vous avez un compte Heroku gratuit et que vous avez également Node.js avec npm installé.

Le didacticiel suppose que vous disposez d'un compte Heroku gratuit et que Node.js et npm sont installés localement.

Préparez l'application

Dans cette étape, vous préparerez un exemple d'application qui sera prêt à être déployé sur Heroku. Si vous êtes un peu confus ou confus, vous pouvez consulter nos premiers articles d'introduction: Contrôle des risques de sécurité Node.js à partir des dépendances npm, ou Node Hero - Authentification Node.js à l'aide de Passport.js

Premiers pas

Dans un premier temps, vous allez installer une interface de ligne de commande (CLI) Heroku. Nous utilisons normalement la CLI pour gérer et mettre à l'échelle les applications, ainsi que pour exécuter l'application localement. Vous devez télécharger, installer et exécuter le programme d'installation de votre système d'exploitation quotidien.

  • Sur Mac OS: Pour télécharger le programme d'installation du package sur votre ordinateur Mac OS, cliquez ici: Téléchargez le programme d'installation pour Mac OS.
    Bien que vous l'ayez également disponible sur votre Homebrew:
    $ brew installer heroku / brew / heroku
    
  • Sous Windows: Pour pouvoir télécharger le programme d'installation du package sur votre ordinateur Windows, cliquez sur l'un de ces deux selon vos besoins.
  • Ubuntu 16+: Maintenant, si votre cas est que vous utilisez un logiciel gratuit sur votre PC, exécutez ce code sur votre terminal.
    $ sudo snap installer heroku --classic
    

Déjà installé installé, vous pouvez utiliser la commande heroku à partir de la commande coquille. Sous Windows, vous devez démarrer l'invite de commande (cmd.exe) ou Powershell pour accéder au coquille commander. Connectez-vous avec l'adresse e-mail et le mot de passe que vous avez utilisés pour créer votre compte Heroku:

Connexion heroku Entrez vos informations d'identification Heroku. Email: email [email protected] Mot de passe: *****

L'authentification est requise pour permettre aux deux commandes de connexion de fonctionner heroku comme les commandes de git. Avant de continuer, assurez-vous que les conditions préalables sont correctement installées. Tapez chaque commande ci-dessous et assurez-vous qu'elle affiche la version que vous avez installée. (Gardez à l'esprit que vos versions peuvent être différentes de l'exemple). S'il ne renvoie aucune version, mais revenez à l'introduction de ce tutoriel et installez les prérequis. Les paramètres régionaux suivants sont requis pour terminer la "Dépendances d'application" et les étapes suivantes. N'oubliez pas que ce didacticiel fonctionnera pour toute version de Node supérieure à 8; vérifiez maintenant que la configuration requise est installée:

Essayez la version Node

nœud - version v8.11.1

Noter que npm il est installé avec Node.js, vérifiez donc qu'il est installé. Si vous ne l'avez pas, installez une version plus récente de Node:

npm - version 5.6.0

Vérifiez maintenant que vous avez installé git. Si ce n'est pas le cas, installez-le et réessayez.

git --version git version 2.15.1

Préparez votre candidature

Dans cette étape, vous commencerez à préparer un exemple d'application prêt à être implémenté dans Heroku. Afin de faire votre propre copie de l'application que nous développons, exécutez les commandes suivantes dans votre terminal de commande ou votre terminal local:

git clone https://github.com/heroku/node-js-getting-started.git cd node-js-getting-started

Vous avez maintenant un référentiel Git fonctionnel qui contient une application simple ainsi qu'un fichier package.json, qui est utilisé par le gestionnaire de dépendances de Node.

Déployer votre application

Dans cette étape, vous déploierez l'application sur Heroku. Créez une application sur Heroku, qui prépare Heroku à recevoir votre code source.

$ heroku create Création de sharp-rain-871 ... fait, la pile est en cèdre-14 http://sharp-rain-871.herokuapp.com/ | https://git.heroku.com/sharp-rain-871.git Git remote heroku ajouté

Lorsque vous créez une application, heroku crée également un git distant (appelé) et l'associe à votre référentiel git local. Heroku génère un nom aléatoire (dans ce cas, sharp-rain-871) pour votre application, ou vous pouvez passer un paramètre pour spécifier votre propre nom d'application. Maintenant, affichez votre code:

$ git push heroku master Comptage des objets: 488, terminé. Compression delta utilisant jusqu'à 8 threads. Compression d'objets: 100% (367/367), terminé. Objets d'écriture: 100% (488/488), 231,85 Kio | 115,92 Mio / s, terminé. Total 488 (delta 86), réutilisé 488 (delta 86) remote: Compression des fichiers source ... terminé. remote: Building source: remote: remote: -----> Application Node.js détectée remote: remote: -----> Création de l'environnement d'exécution remote: remote: NPM_CONFIG_LOGLEVEL = error remote: NODE_VERBOSE = false remote: NODE_ENV = production remote: NODE_MODULES_CACHE = true remote: remote: -----> Installation des binaires remote: engine.node (package.json): 8.11.1 remote: engine.npm (package.json): unspecified (use default) remote: remote : Résolution du nœud version 8.11.1 ... distant: Téléchargement et installation du nœud 8.11.1 ... distant: Utilisation de la version npm par défaut: 5.6.0 .... distant: -----> Construction réussie! remote: -----> Découverte des types de processus remote: Procfile déclare les types -> web remote: remote: -----> Compression ... remote: Done: 19M remote: -----> Lancement ... remote: sortie v3 remote: http://sharp-rain-871.herokuapp.com déployé sur Heroku remote: remote: vérification du déploiement ... terminé. À https://git.heroku.com/nameless-savannah-4829.git * [new branch] master -> master

L'application est maintenant déployée. Assurez-vous qu'au moins une instance de l'application est en cours d'exécution:

$ heroku ps: échelle web = 1

Maintenant, visitez l'application à l'URL générée par son nom d'application. Comme raccourci pratique, vous pouvez ouvrir le site Web comme suit:

$ heroku ouvert

Consulter les enregistrements

Heroku traite les journaux comme des flux d'événements ordonnés dans le temps agrégés à partir des flux de sortie de toutes vos applications et composants Heroku, fournissant un canal unique pour tous les événements. Affichez des informations sur votre application en cours d'exécution à l'aide de l'une des commandes de journalisation, heroku logs –tail:

heroku logs --tail 2011-03-10T10: 22: 30-08: 00 heroku [web.1]: état modifié de créé à début 2011-03-10T10: 22: 32-08: 00 heroku [web.1] : Processus en cours d'exécution avec la commande: `node index.js` 2011-03-10T10: 22: 33-08: 00 heroku [web.1]: Écoute le 18320 2011-03-10T10: 22: 34-08: 00 heroku [ web.1]: état changé du démarrage à up

Visitez à nouveau votre application dans le navigateur et vous verrez un autre message de journal généré. Appuyez sur Ctrl + C pour arrêter la transmission des journaux.

Définition d'un fichier Proc

Utilisez un Procfile, un fichier texte dans le répertoire racine de votre application, pour déclarer explicitement quelle commande doit être exécutée pour démarrer votre application. L'exemple d'application Procfile que vous avez déployé ressemble à ceci: web: node index.js Cela déclare un seul type de processus Web et la commande requise pour l'exécuter. Le nom Web est important ici. Déclare que ce type de processus sera attaché à la pile de routage HTTP de Heroku et recevra le trafic Web une fois implémenté. Les fichiers Procfiles peuvent contenir des types de processus supplémentaires. Par exemple, vous pouvez en déclarer un pour un processus de travail en arrière-plan qui traite des éléments en dehors d'une file d'attente.

Mise à l'échelle de l'application

À l'heure actuelle, votre application s'exécute sur une seule bande de référence. Considérez un dynamomètre comme un conteneur léger qui exécute la commande spécifiée dans le fichier Procfile. Vous pouvez vérifier le nombre de dynos en cours d'exécution à l'aide de la commande ps:

$ heroku ps === web (gratuit): `node index.js` web.1: up 2014/04/25 16:26:38 (il y a ~ 1s)

Par défaut, votre application est déployée sur un dynamomètre gratuit. Les dinosaures libres dormiront après une demi-heure d'inactivité (s'ils ne reçoivent aucun trafic). Cela entraîne un délai de quelques secondes pour la première requête au réveil. Les demandes ultérieures seront effectuées normalement. La dynamique gratuite consomme également un quota mensuel au niveau du compte d'heures de dynamisation gratuites, tant que le quota n'est pas épuisé, toutes les applications gratuites peuvent continuer à fonctionner. Pour empêcher Dyno de dormir, vous pouvez passer à un type de dino amateur ou professionnel comme décrit dans l'article Types de Dyno. Par exemple, si vous migrez votre application vers un dynamomètre professionnel, vous pouvez facilement la mettre à l'échelle en exécutant une commande qui indique à Heroku d'exécuter un nombre spécifique de déclencheurs, chacun exécutant son propre type de processus Web. La mise à l'échelle d'une application sur Heroku équivaut à modifier le nombre de dynos en cours d'exécution. Mettez à zéro le nombre de dynos Web:

$ heroku ps: échelle web = 0

Accédez à nouveau à l'application en appuyant sur mise à jour dans l'onglet Web, ou sur heroku ouvert pour l'ouvrir dans un onglet Web. Vous recevrez un message d'erreur car vous n'avez plus de diagnostics Web disponibles pour les demandes de service. Redimensionner:

$ heroku ps: échelle web = 1

Pour la prévention des abus, la mise à l'échelle d'une application non gratuite sur plusieurs dynamos nécessite une vérification du compte. Pour continuer avec la leçon, passez à notre prochain article ➡ Comment implémenter Node.js avec Heroku ou Docker? Partie 2

R Marketing Numérique