Heroku: Deployment einer einfachen NodeJS Applikation

Einführung

Mit Heroku als Hoster ist es sehr einfach und schnell möglich eine NodeJS App zu auszurollen. Zum Testen gibt es auch dort eine Kostenlose Variante und man muss nicht sofort bezahlen, wenn man bspw. wie hier nur ein Beispiel vorführen will.

Damit man das selbst nachvollziehen kann, benötigt man folgende Tools:

Git -> https://git-scm.com/downloads
Visual Studio Code -> https://code.visualstudio.com
NodeJs -> https://nodejs.org/en/

Schritt 1: Entwicklung einer einfachen NodeJS Applikation

Ich habe zunächst eine sehr einfache Applikation als Basis entwickelt, die noch nicht sehr viel kann.

Diese Plattform kann ich nun für weitere Entwicklungen benutzen.

Der Source Code hierzu liegt unter:
https://github.com/smoki99/base-nodejs-angular-gulp

Schritt 2: Anmelden bei Heroku

Zunächst muss man auf die Webseite: http://heroku.com

Und dort auf Sign Up:

Darauf folgt ein Formular, wo man ein paar Daten eintragen muss:

Schritt 3: Einrichten der App

Das erstellen einer App ist relativ einfach mit dem Klick auf "New":

Anschließend ist der App Name einzutragen:

Jetzt braucht man nur noch sein GitHub Verbindung einzurichten:

Anschließend kann man einfach sein Repository verbinden:

Anschließend kann man noch den Deployment Zweig auswählen, der für das automatische Deployment verwendet werden kann und man kann auch, wenn eingerichtet das CI vorschalten!

Als nächstes wird einmalig das Deployment manuell angestoßen:

Anschließend funktioniert die App bereits:

Und auch die DemoApp: https://test123456788.herokuapp.com/demoapp.html

Schritt 4: Installation des Heroku Toolbelt

Damit man auf die Konsole vom Heroku System Zugriff hat, sollte man sich den Heroku Toolbelt herunter laden und installieren:

https://toolbelt.heroku.com/

Anschließend mit seinen Credentials anmelden:

Das wichtigste Kommando ist:

heroku logs --app basenodejs --tail  

Hierdurch bekommt man das Log gestreamt!

So kann man schnell sehen, wenn Probleme in der Applikation auftreten, beim Deployment oder Testen. (Es ist immer sinnvoll seine Änderungen in einen Testsystem zu überprüfen)

Schritt 5: Änderungen durchführen

Führt man jetzt Änderungen in seiner Applikation durch:

Wenn der Task für Gulp aktiv ist, dann wird dieser automatisch das HTML auch anpassen:

Nun kann man die Änderung im Git Bereich per "Commit" übertragen:

Nun mit Push an sein GIT übertragen. Man sieht in der unteren Bildschirm hälfte, wie dann auch bei Heroku automatisch dann auch das Deployment startet!

Anschließend ist die Webseite auch Updated:

Zusammenfassung

Deployment und Entwicklung wird mit Heroku zum Kinderspielt. Für eine professionelle Entwicklung müssen natürlich noch einige Schritte implementiert werden, wie CI und Unit Tests und nur wenn diese erfolgreich sind, sollte ein Deployment laufen.