Heroku Deploy - Comment pousser une application Web ou un site en production

Lorsqu'il s'agit de déployer une application, il existe généralement deux options: un VPS ou un PaaS (platform as a service). Cet article vous montrera une recette pour déployer une application en production sur un PaaS comme Heroku.

Étape 1 - Créez le projet

La première étape consiste à créer une structure simple pour notre projet avec quelques fichiers de base. Pour cet article, je vais créer un serveur de démonstration avec NodeJS.

Dans un nouveau dossier, j'ouvrirai un terminal et exécuterai la commande npm init -yafin de créer un nouveau projet. Le serveur factice sera écrit dans Express, nous devons donc exécuter la npm install expresscommande pour installer ce module.

Une fois cette bibliothèque installée, nous pouvons créer un nouveau fichier pour notre projet, nommé app.js. À l'intérieur, nous écrirons le code de notre serveur simple:

Nous pouvons démarrer l'application en exécutant node app.js. Ensuite, nous pouvons l'essayer à l'URL suivante //localhost:3000. À ce stade, vous devriez voir le message Hello Worlddans le navigateur.

Étape 2 - Système de contrôle de version

L'étape suivante consiste à choisir un système de contrôle de version et à placer notre code dans une plateforme de développement dans un référentiel.

Le système de contrôle de version le plus populaire est Git avec Github en tant que plate-forme de développement, c'est donc ce que nous utiliserons ici.

Sur GitHub, allez-y et créez un nouveau référentiel pour votre application, comme ceci:

Pour télécharger votre code local dans un référentiel, vous devez exécuter les commandes répertoriées sur Github après avoir cliqué sur le Create repositorybouton:

! Avant de faire cela, nous devons ignorer certains fichiers. Nous voulons télécharger dans le référentiel uniquement le code que nous écrivons, sans les dépendances (les modules installés).

Pour cela, nous devons créer un nouveau fichier .gitignoreet y écrire le fichier que nous voulons ignorer.

Maintenant, nous pouvons écrire les commandes répertoriées dans l'image ci-dessus (celle de GitHub).

Si vous avez exécuté les commandes correctement, cela se trouvera sur la page de votre référentiel. Si vous l'actualisez, vous devriez voir vos fichiers, sauf celui que vous avez explicitement ignoré, à savoir node_modules.

Étape 3 - Liez le référentiel avec Heroku

À cette étape, nous pouvons lier le référentiel de Github à notre application Heroku.

Tout d'abord, créez une nouvelle application sur Heroku et suivez les étapes répertoriées sur la plateforme.

Une fois l'application créée, une fenêtre similaire à celle-ci devrait apparaître:

Maintenant, si vous regardez la navigation en haut, vous verrez   Overview, Resources, Deploy, Metrics  et ainsi de suite. Assurez-vous que Deployc'est sélectionné. Puis sur la deuxième ligne, cliquez sur l'icône GitHub.

Recherchez l'application souhaitée, ce qui est demo-deploy-app-09dans notre cas. Cliquez ensuite Connect.

Une fois l'application correctement connectée à votre compte Heroku, vous pouvez cliquer Deploy Branchpour déployer votre application.

Si vous le souhaitez, vous pouvez également sélectionner l'option Enable Automatic Deploysqui extraira automatiquement le code de votre référentiel Github chaque fois que vous effectuerez une poussée vers ce référentiel.

Une fois l'application déployée, vous pouvez cliquer sur Afficher pour ouvrir votre application.

Étape 4 - Configurer Heroku pour exécuter correctement l'application

Si vous ouvrez l'application à ce stade, vous devriez voir quelque chose comme ceci:

C'est vrai, une erreur. C'est parce que Heroku ne sait pas comment démarrer notre application.

Si vous vous en souvenez, nous avons exécuté la commande node app.jspour démarrer l'application localement.

Heroku n'a aucun moyen de savoir quelles commandes il doit exécuter pour démarrer l'application, et c'est pourquoi il a généré une erreur.

Pour résoudre ce problème, nous devons créer un nouveau fichier nommé Procfileavec le contenu suivant: web: node ./app.js.

Pour mettre à jour notre application, tout ce que nous avons à faire est de pousser un nouveau commit sur GitHub. Si nous avons activé l' Automatic Deploysoption, le code sera automatiquement tiré vers Heroku. Sinon, nous devons cliquer à Deploy Branchnouveau.

Une fois l'application reconstruite, nous devrions la voir fonctionner comme ceci:

Étape 5 - Comment ajouter un module complémentaire

L'un des principaux avantages qu'offre Heroku est le fait que vous pouvez facilement ajouter des ressources sous la forme de add-onsà votre projet. Ces ressources externes se présentent sous la forme de bases de données, d'outils de journalisation et de surveillance, d'outils CI et CD ou d'outils de test.

Voyons maintenant comment ajouter une nouvelle ressource à votre projet. Tout d'abord, nous allons passer aux ressources, et à partir de là, nous ajouterons un nouvel outil de test.

Allez-y et cliquez sur Find more add-ons, puis recherchez Loadmill.

Loadmill est un outil de test vraiment idéal pour les tests de régression et les tests de charge.

Allez-y et cliquez sur Install…. Choisissez ensuite l'application que vous souhaitez lier.

À cette étape, Heroku créera automatiquement un nouveau compte pour vous sur la plateforme provisionnée.

Dans l'onglet ressources, vous pouvez voir la ressource nouvellement ajoutée:

Si vous continuez et accédez à ce module complémentaire, vous devriez voir son tableau de bord avec un didacticiel d'introduction et un test de démonstration créé pour vous.

Conclusion

Heroku permet aux développeurs de déployer rapidement et presque sans effort une application sur un serveur Web.

Il fournit également de nombreux plugins que vous pouvez intégrer dans votre application.

Une solution PaaS vous permettra toujours d'aller plus vite que la solution avec un VPS où vous devez tout configurer de A à Z.