Dans ce guide, nous allons passer en revue les étapes de déploiement d’une application et d’une base de données d’exemple. N’hésitez pas à utiliser l’application d’exemple ci-dessous à des fins de test, mais ne vous y fiez pas pour une quelconque utilisation en production. Le but de l’application est de tester le déploiement de Kinsta.

Exemple d’application

Nous avons créé une petite application pour enregistrer la météo et afficher les résultats sur une page simple. Vous pouvez trouver l’application sur GitHub.

Forker l’application d’exemple

Tout d’abord, visitez l’application weatherlogger-js sur GitHub et lisez le fichier Readme inclus pour en savoir plus sur l’application. Une fois que vous vous êtes familiarisé avec elle, cliquez sur le bouton Fork en haut à droite pour la forker sur votre propre compte GitHub.

Créer un fork de weatherlogger-js dans GitHub.
Créer un fork de weatherlogger-js dans GitHub.

Créer une clé de l’API

L’application nécessite une clé de l’API d’OpenWeather. Une fois que vous vous êtes inscrit, vous pouvez vous connecter et créer gratuitement une clé de l’API qui vous permet de faire 1000 appels API par jour. Nous vous recommandons de faire cette étape en premier car il faut 10 à 20 minutes à la clé API pour devenir active, temps que nous pouvons passer à configurer notre application.

Processus

Lors du déploiement de l’application sur Kinsta, nous devons exécuter deux processus :

  • Un serveur web où nous pouvons visualiser nos données météorologiques. Il peut être démarré à l’aide de la commande npm start.
  • Un cronjob qui collecte les données météorologiques toutes les quelques minutes. Il peut être lancé à l’aide de la commande npm run weatherLogger

Commençons à préparer les choses pour exécuter ces processus.

Créer une base de données

Dans MyKinsta, assurez-vous que vous êtes sur la page Applications, cliquez sur Ajouter un service, puis sélectionnez Base de données dans le menu déroulant. Nous avons utilisé les valeurs suivantes dans le formulaire pour créer notre base de données d’exemple :

  • Nom de la base de données : weatherloggerdb
  • Nom d’affichage : Weather Logger Database
  • Type de base de données : MySQL
  • Version : 8.0
  • Nous avons laissé intacts le nom d’utilisateur et le mot de passe de la base de données
  • Emplacement du centre de données : us-central1
  • Taille de la base de données : 0.25 cœur de CPU – 256 Mo de RAM (Mini)

Cliquez sur Créer une base de données, et vous devriez être prêt.

Création d'une nouvelle base de données pour notre application d'exemple
Création d’une nouvelle base de données pour notre application d’exemple.

Créer une application

Assurez-vous que vous êtes sur la page Applications, cliquez sur Ajouter un service, puis sélectionnez Application dans le menu déroulant. En cliquant sur le champ du dépôt GitHub, vous devrez autoriser Kinsta à interagir avec votre dépôt.

Pour plus de documentation étape par étape, voir Ajouter une application.

Nous avons utilisé les valeurs suivantes dans le formulaire multipartite pour créer notre application d’exemple :

Détails de l’application

  • Dépôt GitHub : danielpataki/weatherlogger-js (dans votre cas, ce sera quelque chose comme your-organization/weatherlogger-js)
  • Branche par défaut : main
  • Déploiement automatique sur le commit : non coché
  • Nom de l’application : Weather Logger
  • Emplacement du centre de données : us-central1
Création d'une nouvelle application pour notre exemple
Création d’une nouvelle application pour notre exemple.

Environnement de construction

  • Ressources de construction : Standard
  • Environnement de construction : Configurer l’image du conteneur automatiquement
Configuration de l'environnement de construction pour notre exemple
Configuration de l’environnement de construction pour notre exemple.

Ressources

  • Configurez vos processus :
    • Nom du processus : Web process
    • Type de processus : web
    • Commande de démarrage : npm start
    • Taille du pod : Standard 0,5 CPU / 1 Go RAM
    • Nombre d’instances : 1

Cliquez sur Ajouter une application et le processus de déploiement sera lancé.

Configurer le processus web pour notre application d'exemple
Configurer le processus web pour notre application d’exemple.

Moyen de paiement

Vérifiez les coûts d’utilisation mensuels de l’application d’exemple et confirmez votre moyen de paiement.

Confirmation du moyen de paiement pour notre application d'exemple
Confirmation du moyen de paiement pour notre application d’exemple.

Connexion de l’application et de la base de données

Une fois que la base de données est prête pour les connexions (une coche verte s’affiche à côté d’elle), nous pouvons la connecter à notre application, même si celle-ci est encore en cours de déploiement. Cliquez sur l’application Weather Logger, cliquez sur Réglages dans la colonne latérale, et faites défiler vers le bas pour trouver la section Connexions internes.

Connexions internes dans notre application d'exemple.
Connexions internes dans notre application d’exemple.

Cliquez sur Ajouter une connexion, et dans la fenêtre modale/popup qui apparaît, sélectionnez la base de données Weather Logger. Cochez la case Ajouter des variables d’environnement pour accéder à la base de données, cochez les cases Disponible pendant l’exécution et Disponible pendant le processus de construction, puis cliquez sur Ajouter une connexion.

Ajouter une connexion interne pour notre application d'exemple
Ajouter une connexion interne pour notre application d’exemple.

Configuration de l’application

La prochaine chose sur notre liste est d’ajouter toutes les informations dont notre application a besoin sous forme de variables d’environnement. La plupart des informations ont été automatiquement ajoutées à l’étape précédente en remplissant les variables de connexion à la base de données.

La seule qui manque et qui est requise par l’application est la clé API OpenWeatherMap. Dans les Réglages, juste sous la section Connexions internes, vous verrez la section Variables d’environnement. Cliquez sur Ajouter une variable d’environnement et utilisez OPENWEATHER_KEY comme clé et votre clé de l’API comme valeur.

Ajoutez votre clé de l'API OpenWeather aux variables d'environnement
Ajoutez votre clé de l’API OpenWeather aux variables d’environnement.

L’application prend en charge quelques variables supplémentaires pour contrôler la fréquence de mise à jour, les unités utilisées, etc. Jetez un coup d’œil à la documentation de l’application pour plus d’informations.

Configuration des processus

Nous avons mentionné au début que nous aurons besoin d’un serveur web et d’un cronjob. Allez dans la section Processus de l’application, et vous verrez le processus web qui utilise le démarrage de npm start que nous avons créé quand nous avons ajouté l’application.

Pour configurer le cronjob, cliquez sur le bouton Créer un processus et remplissez le formulaire dans la modale/popup qui apparaît. Nous avons utilisé les valeurs suivantes pour notre exemple :

Nom : Worker
Type : Travail en arrière-plan
Commande de démarrage npm run weatherLogger
Pod taille : Standard 0.5 CPU / 1 Go RAM
Instances : 1

Cliquez ensuite sur Créer un processus.

Créer le processus d'arrière-plan pour notre application d'exemple
Créer le processus d’arrière-plan pour notre application d’exemple.

Déployer l’application

Enfin, retournez à la section Déploiements et cliquez sur le bouton Déployer maintenant. Le déploiement prend généralement environ 90 secondes, mais vous devrez peut-être attendre un peu plus longtemps pour que tous les processus se mettent en place correctement. Votre première mesure météorologique devrait être enregistrée quelques minutes après. Pour vérifier que tout fonctionne, jetez un coup d’œil à la section Journaux.

Journaux d'exécution pour l'application d'exemple
Journaux d’exécution pour l’application d’exemple.

Après quelques minutes, vous devriez voir des processus réussis dans les journaux d’exécution. Dans l’image d’exemple ci-dessus, la ligne 482 affiche que l’enregistreur a commencé à fonctionner (Starting weather logging), et la ligne 483 affiche que le serveur web est utilisé (Weather server is up and running). La ligne 245 et suivantes affichent les événements de journalisation (Weather data retrieved et Weather data logged).

Vers le haut de la page, vous pouvez voir l’URL de votre application (vous pouvez également la trouver sur la page Déploiements sous Dernier déploiement). Cliquez sur cette URL pour accéder à la page servie par le service web :

Page de l'enregistreur météo affichant les entrées météo
Page de l’enregistreur météo affichant les entrées météo.