Node.js

Ce guide comprend des exemples sur la façon de configurer les applications Node.js suivantes pour les déployer sur les services d’hébergement d’applications de Kinsta à partir d’un dépôt GitHub :

Pré-requis

  • Les modèles de démarrage rapide de Kinsta sont stockés et gérés dans GitHub ; par conséquent, vous avez besoin d’un compte GitHub pour y accéder.
  • Vous devez créer un compte MyKinsta pour déployer l’application.

Node.js

  1. Connectez-vous à GitHub et créez un nouveau dépôt à partir de ce modèle (Utiliser ce modèle > Créer un nouveau dépôt) : Kinsta – Hello World – Node.js.
  2. Dans MyKinsta, cliquez sur Applications > Ajouter une application > sélectionnez GitHub, cliquez sur Connecter le fournisseur  git > Autoriser, et connectez-vous à votre compte GitHub.
  3. Choisissez le dépôt Hello World – Node.js et l’emplacement du centre de données. Laissez tous les autres réglages par défaut et cliquez sur Continuer à chaque étape.
  4. Dans l’étape Résumé, cliquez sur Déployer maintenant.

Pendant le déploiement, Kinsta détecte automatiquement la commande de démarrage pour le processus web et installe les dépendances définies dans votre fichier package.json. L’application est disponible dès que le déploiement est terminé, et la page d’accueil Kinsta se charge à l’URL de votre application.

Page d'accueil Kinsta après un déploiement réussi de Node.js.
Page d’accueil Kinsta après un déploiement réussi de Node.js.

Vous préférez regarder la version vidéo ?

Configuration du serveur web

Port

Kinsta définit automatiquement la variable d’environnement PORT. Vous n’avez pas besoin de la définir vous-même ou de la coder en dur dans l’application. Utilisez process.env.PORT dans votre code lorsque vous faites référence au port du serveur.

app.listen(process.env.PORT, () => {
console.log(`Hello World Application is running on port ${process.env.PORT}`)
})

Commande de démarrage

Lorsque vous déployez une application, Kinsta crée automatiquement un processus web avec npm start comme commande de démarrage. Assurez-vous d’utiliser cette commande pour lancer votre serveur. Si vous souhaitez utiliser une autre commande, vous devez modifier le processus web dans MyKinsta.

"scripts": {
"start": "node server.js"
},

Variables d’environnement

Par défaut, la variable d’environnement NODE_ENVn’ est pas définie sur production pour les applications Node.js ; vous devez ajouter cette variable d’environnement manuellement.

Cycle de vie du déploiement

Chaque fois qu’un déploiement est initié (par la création d’une application ou un redéploiement suite à un commit entrant), la commande npm build est exécutée, suivie de la commande npm start.

Application Node.js avec un fichier Docker

  1. Connectez-vous à GitHub et créez un nouveau dépôt à partir de ce modèle (Utiliser ce modèle > Créer un nouveau dépôt) : Kinsta – Hello World – Dockerfile – Node.js.
  2. Dans MyKinsta, cliquez sur Applications > Ajouter une application > sélectionnez GitHub, cliquez sur Connecter le fournisseur git > Autoriser, et connectez-vous à votre compte GitHub.
  3. Choisissez le dépôt Hello World – Dockerfile – Node.js et l’emplacement du centre de données, laissez tous les autres réglages par défaut et cliquez sur Continuer.
  4. A l’étape Construire l’environnement, sélectionnez Utiliser Dockerfile pour configurer l’image du conteneur et cliquez sur Continuer > tous les autres rélages peuvent rester par défaut, cliquez sur Continuer > Deployer maintenant.

Le fichier Docker doit contenir la commande de démarrage soit dans une ligne CMD, soit dans une instruction ENTRYPOINT. L’application est disponible dès que le déploiement est terminé et qu’une page Hello World est chargée à l’URL de votre application.

Page Hello World de Node.js avec Dockerfile après une installation réussie.
Page Hello World de Node.js avec Dockerfile après une installation réussie.

Cycle de déploiement

Lorsque vous créez l’application, Kinsta crée un processus à partir de l’instruction CMD dans le fichier Docker :

CMD ["npm", "run", "start"]

Si vous modifiez cette commande dans le référentiel après avoir déployé l’application, le processus n’est pas automatiquement mis à jour dans MyKinsta, vous devez donc également modifier la commande de démarrage dans les processus de votre application.

Application Node.js pour envoyer des e-mails

Voici un exemple de configuration d’une application Node.js pour envoyer des e-mails via SendGrid sur les services d’hébergement d’applications de Kinsta, déployée à partir d’un dépôt GitHub.

Kinsta ne prend pas nativement en charge les e-mails sortants des serveurs. L’envoi d’e-mails via des fournisseurs d’e-mails sortants spécialisés tels que SendGrid ou Mailchimp offre plus de flexibilité et des taux de réussite plus élevés pour les e-mails transactionnels et de campagne.

  1. Connectez-vous à GitHub et créez un nouveau dépôt à partir de ce modèle (Utiliser ce modèle > Créer un nouveau dépôt) : Kinsta – Hello World – Email Sending With Node.js.
  2. Dans MyKinsta, cliquez sur Applications > Ajouter une application > sélectionnez GitHub, cliquez sur Connecter le fournisseur git > Autoriser, et connectez-vous à votre compte GitHub.
  3. Choisissez le dépôt Hello World – Email Sending With Node.js et un emplacement de centre de données. Dans les variables d’environnement, ajoutez les éléments suivants :
    • SENDGRID_API_KEY: La clé API de SendGrid.
    • TEST_EMAIL_TO_ADDRESS: L’adresse à laquelle vous souhaitez envoyer l’e-mail de test.
    • TEST_EMAIL_FROM_ADDRESS: L’adresse à partir de laquelle vous souhaitez envoyer l’e-mail de test.
    • TEST_ENDPOINT: Le point de terminaison que vous souhaitez utiliser comme déclencheur pour l’envoi de l’e-mail de test. Utilisez une chaîne aléatoire d’au moins 8 caractères.
  4. Laissez tous les autres paramètres par défaut et cliquez sur Continuer à chaque étape. À l’étape Résumé, cliquez sur Déployer maintenant.

L’application est disponible dès que le déploiement est terminé, et une page Hello World se charge à l’URL de votre application.

E-mail Node.js envoyant la page Hello World après une installation réussie.
E-mail Node.js envoyant la page Hello World après une installation réussie.

Déclencher un e-mail

Ce projet ne nécessite pas de phase de construction. La commande de démarrage exécute node server.js, qui démarre un serveur Express avec deux points de terminaison :

  • /: Une page simple qui renvoie le message Hello World
  • /${TEST_ENDPOINT}: Une page qui déclenche un e-mail de test.

Pour déclencher un e-mail, recherchez l’URL de votre déploiement sur la page Déploiements, ajoutez votre point de terminaison de test à cette URL et visitez la page. Par exemple, si votre TEST_ENDPOINT est défini sur o34nifnodhni4of et que votre dernier déploiement se trouve sur https://example.kinsta.app, vous pouvez déclencher un e-mail de test à partir de https://example.kinsta.app/o34nifnodhni4of dans votre navigateur.

Un message Email sent s’affiche si l’envoi de l’e-mail de test est réussi.

Message d'envoi d'email Node.js.
Message d’envoi d’email Node.js.

Si vous le vérifiez sur SendGrid, vous obtenez également un message de réussite.

E-mail de test reçu chez SendGrid.
E-mail de test reçu chez SendGrid.
Cet article vous a été utile ?