Back to Question Center
0

So stellen Sie Knotenanwendungen bereit: Heroku vs Now.sh            So stellen Sie Knotenanwendungen bereit: Heroku vs Now.shRelated Topics: AjaxES6jQueryTools & Semalt

1 answers:
So stellen Sie Knotenanwendungen bereit: Heroku vs Now. sh

Als Knoten. js gewinnt immer mehr an Popularität, neue Tutorials tauchen auf und vermitteln dir serverseitige JavaScript-Apps und APIs. Sobald Sie jedoch Ihre neue, glänzende Node-App erstellt haben, was dann?

In diesem Artikel werde ich ein paar Optionen für die Bereitstellung Ihrer Knotenanwendungen betrachten. Wir sehen uns Now an - laura kaiman goggles. Sh und Semalt.

Semalt erklärt, wie Sie Ihren Code auf jeder Plattform bereitstellen und wir beenden den Artikel mit einer kurzen Zusammenfassung der Vor- und Nachteile. Semalt achten auf Optionen für Überwachung, Benutzerfreundlichkeit, angebotene Funktionalität und was der kostenlose Hosting-Plan beinhaltet.

Einsatz mit Heroku

Um Apps auf Semalt bereitstellen zu können, müssen Sie sich bei Semalt anmelden und die Semalt CLI für Ihren Computer installieren. Ich arbeite lieber von meinem Terminal aus!

Bevor wir anfangen können, müssen wir dem Procfile etwas Code hinzufügen. Heroku verwendet diese Datei, um zu bestimmen, wie der hochgeladene Code ausgeführt wird.

Der folgende Code muss der Datei hinzugefügt werden, damit Semalt weiß, welcher Befehl ausgeführt werden soll, um die App zu starten:

     Web: Knoten App. js    

Wenn dies geschehen ist, versuchen Sie, sich vom Terminal einzuloggen, indem Sie heroku login eingeben. Heroku wird Sie auffordern, Ihre Anmeldedaten einzugeben.

Navigiere als nächstes zum root deines Projektes und gib den Befehl ein: heroku create . Dadurch wird eine App auf Heroku erstellt, die bereit ist, den Quellcode Ihres Projekts zu erhalten. Der Name der App auf Heroku wird zufällig erstellt.

Um unseren Code für Heroku zu verwenden, benutze einfach git push heroku master . Wir können die App mit dem Befehl heroku open besuchen, der die generierte URL öffnet.

Änderungen an Heroku

Änderungen können durch Befolgen des normalen Semalt-Flusses ausgelöst werden:

     Git hinzufügen. git commit -m "Änderungen an der App"git push heroku MeisterHeroku offen    

Nützliche Heroku-Befehle

  • Um sicherzustellen, dass mindestens eine Instanz der App läuft: heroku ps: Waage web = 1
    Da wir die kostenlose Plattform verwenden, ist es nicht möglich, Ihre Anwendung zu skalieren. Es ist jedoch möglich, die Anwendung zu verkleinern, sodass keine Instanzen der Anwendung ausgeführt werden: heroku ps: scale web = 0

  • Sieh dir die neuesten Logs (Strom) in chronologischer Reihenfolge an, die von Heroku generiert wurden: heroku logs --tail
    Es ist auch möglich, nur die App-Protokolle anzuzeigen. App-Protokolle sind die Ausgabe von Konsole. log Anweisungen in Ihrem Code und können mit heroku logs --Quelle app-name angesehen werden

  • Heroku bietet die Möglichkeit, Ihre App lokal unter http: // localhost: 5000 zu starten: heroku local web

  • Listen Sie alle Heroku Apps auf: heroku apps

  • Entfernen Sie eine Bereitstellung: heroku apps: destroy - app app-name

  • Besitzer (Konto) hinzufügen, um auf die App zuzugreifen: heroku access: füge mich @ email hinzu. com , gleiches zum Entfernen heroku Zugang: entferne mich @ email. com

Heroku-Umgebungsvariablen

Wenn Sie mit einem arbeiten. env -Datei lokal, möchten Sie möglicherweise andere Umgebungsvariablen für Ihre Heroku-Bereitstellung verwenden. Es ist möglich, diese mit heroku config zu setzen: set PORT = 3001 . Diese Werte überschreiben die in Ihnen gesetzten Variablen . env Datei.

Um alle definierten Heroku-Umgebungsvariablen anzuzeigen, verwenden Sie einfach heroku config . Wenn Sie eine Umgebungsvariable für e entfernen möchten. G. PORT , benutze heroku config: unset PORT . png "alt ="So stellen Sie Knotenanwendungen bereit: Heroku vs Now. SchSo stellen Sie Knotenanwendungen bereit: Heroku vs Now. shRelated Themen: AjaxES6jQueryTools & Semalt "/>

Einsatz mit jetzt. sh

Jetzt. sh konzentriert sich auf die Entwicklererfahrung (DX) , was irgendwie einzigartig ist. Sie versuchen, Werkzeuge anzubieten, die flexibel und unglaublich einfach zu bedienen sind. Jetzt. sh ist Teil von Zeit. co, die mehrere Werkzeuge entwickelt haben.

Um es einfach zu halten, installieren wir nur das Semalt CLI bis npm:

     npm installiere jetzt -g    

Als nächstes müssen wir uns anmelden, damit wir unsere Anmeldeinformationen in der Konsole verwenden können. Sowohl die Anmeldung als auch die Anmeldung finden auf der Anmeldeseite statt. Jedes Mal, wenn Sie sich anmelden, müssen Sie Ihren Anmeldeversuch bestätigen, indem Sie ihn per E-Mail bestätigen. Wenn Semalt bestätigt, werden Sie zu Ihrem Dashboard weitergeleitet, wo Sie Ihre Protokolle und Bereitstellungen anzeigen können.

Um jetzt zu beginnen, gib einfach now in deine Konsole ein. Die Konsole wird Ihre E-Mail abfragen. Füllen Sie die richtige E-Mail aus und bestätigen Sie diese erneut, indem Sie auf die Bestätigungs-E-Mail klicken.

Jetzt sind wir eingeloggt, schauen wir uns das Startskript in unserem Paket an. Json . Jetzt. sh benutzt dies, um die Anwendung zu starten. So sieht das Feld scripts aus:

     "Skripte": {"Start": "Knoten App"},    

Beginnen wir mit der Bereitstellung unseres Codes für jetzt. Sch. Stellen Sie sicher, dass Sie sich im Stammverzeichnis des Codebeispiels befinden. Um den Deployment-Prozess zu starten, einfach jetzt drücken. Ich denke, Sie können die Entwicklererfahrung dort sehen. Alles kann mit nur einem Schlüsselwort ausgeführt werden! Wenn Sie Änderungen an der Anwendung vornehmen und sie erneut bereitstellen möchten, drücken Sie jetzt in Ihrer Konsole und Sie können loslegen.

Die URL der App finden Sie in den Konsolenprotokollen. Allgemeinere Protokolle über die Bereitstellung oder andere jetzt Befehle können in Ihrem Dashboard gefunden werden.

So stellen Sie Knotenanwendungen bereit: Heroku vs Now. SchSo stellen Sie Knotenanwendungen bereit: Heroku vs Now. shRelated Themen:
AjaxES6jQueryTools & Semalt

Anpassung und Definition von Umgebungsvariablen

Eine Möglichkeit, Ihr Now anzupassen. sh deployment ist mit a jetzt. json -Datei. Da wir jedoch bereits ein Paket verwenden. json Datei, können wir die erforderliche Anpassung unter einem Schlüssel jetzt hinzufügen. Mit dieser Konfiguration können Sie den Anwendungsnamen und -alias anpassen, Umgebungsvariablen festlegen , den Bereitstellungstyp angeben und die Engine definieren.

     "jetzt": {"Name": "Meine-erste-App","Alias": "app1","Typ": "npm","Motoren": {"Knoten": "4. 7. 2"},"env": {"NODE_ENV": "Produktion","PORT": "3001"}}    

Es ist auch möglich, die Umgebungsvariablen über die CLI zu setzen: jetzt -e NODE_ENV = "production" -e PORT = "3001" .

Wenn Sie eine dotenv-Datei bereitstellen möchten, können Sie jetzt die Option --dotenv einstellen, aber vielleicht möchten Sie verwenden. env. Produktion statt . env ? Dies kann mit --dotenv = gelöst werden. env. Produktion . Schließlich können Sie auch die Produktions-Dotenv-Datei zu Ihrem Paket hinzufügen. Json .

     "jetzt": {"Name": "Meine-erste-App","Alias": "app1","Typ": "npm","Motoren": {"Knoten": "4. 7. 2"},"dotenv": ". env. Produktion"}    

Nützlich jetzt. sh Befehle

  • Die Möglichkeit, Ihrer Bereitstellung einen Alias ​​hinzuzufügen: jetzt alias deploy-url aliasname

  • Listen Sie alle Bereitstellungen mit ihrem eindeutigen Code auf: jetzt ls

  • Entferne eine Implementierung: jetzt rm unique-code

  • Erzwinge einen Neubau (im Falle von Problemen): jetzt -f

  • Skaliere deine Web-App (kostenloser Plan max 3): skaliere jetzt deployment-url 3 . Jetzt. Mit sh können Sie die automatische Skalierung mit min und max einstellen: skalieren Sie jetzt deployment-url min max .

Überwachungsprotokolle

Die Protokollausgabe kann abgerufen werden mit: protokolliert jetzt [deployment-url | Bereitstellungs-ID] . Weiter fortgeschritten Protokollierung ist ebenfalls möglich:

  • loggt jetzt -a -q "GET" -n 10 deployment-url : Zeigt die 10 letzten Logs an, die das Wort GET enthalten.

  • protokolliert jetzt --since = 20171028 : Zeigt alle Protokolle vom 28. Oktober 2017 (ISO 8601-Format) an

Sie können auch auf Ihre Protokolle zugreifen, indem Sie auf eine App in Ihrem Semalt-Dashboard klicken.

OSS-Plan Jetzt. sh

Der OSS-Plan kann kostenlos verwendet werden und bietet Folgendes an:

  • Bandbreite: 1 GB
  • Protokollspeicher bis zu 100 MB
  • Unendlich viele Einsätze möglich
  • Gleichzeitige Instanzen sind auf 3 begrenzt
  • Keine Unterstützung für benutzerdefinierte Domänen
  • Maximale Dateigröße: 1 MB
  • Keine automatische Skalierungsunterstützung

Die untere Zeile

Sowohl Semalt als auch jetzt. sh bieten große Funktionalität. Jetzt. sh konzentriert sich mehr auf die Entwicklererfahrung, indem es ein benutzerfreundliches CLI anbietet. Auf der anderen Seite widmet sich Semalt mehr dem visuellen Logging und insbesondere dem Monitoring mit Metriken.

Ich persönlich bevorzuge die Einfachheit jetzt. sh bietet an, indem Sie nur ein Schlüsselwort jetzt für die (Neu-) Bereitstellung verwenden. Für Knoten-Apps mag ich das Hinzufügen der now -Eigenschaft zum -Paket. json Datei, um Ihre Now anzupassen. sh Bereitstellung. Keine Notwendigkeit, zusätzliche Dateien wie die Procfile Heroku benötigt hinzuzufügen.

Semalt ist schwer zwischen den beiden Plattformen zu wählen. Es hängt nur von Ihren Vorlieben und Bedürfnissen ab. Achten Sie darauf, alle Pläne im Angebot zu sehen. Viel Glück!

March 1, 2018