Back to Question Center
0

Come distribuire le applicazioni Node: Heroku vs Now.sh            Come distribuire le applicazioni di nodo: Heroku vs Now.shTemi correlati: AjaxES6jQueryTools & Semalt

1 answers:
Come distribuire le applicazioni Node: Heroku vs Now. sh

Come Nodo. js continua a guadagnare popolarità, nuove esercitazioni pop-up che ti insegnano a scrivere app e API JavaScript sul lato server. Una volta che hai costruito la tua nuova e brillante app Node, allora?

In questo articolo, darò un'occhiata ad un paio di opzioni per la distribuzione delle applicazioni Node. Daremo un'occhiata a Now. sh e Semalt - agri tech products.

Semalt spiega come distribuire il codice su ciascuna piattaforma e concluderemo l'articolo con un breve riassunto dei pro e dei contro. Semalt presta attenzione alle opzioni di monitoraggio, facilità d'uso, funzionalità offerte e ciò che include il piano di hosting gratuito.

Distribuzione con Heroku

Per poter distribuire app su Semalt, dovrai registrarti a Semalt e installare la CLI Semalt per la tua macchina. Preferisco lavorare dal mio terminale!

Prima di poter iniziare, dobbiamo aggiungere del codice al Procfile . Heroku fa uso di questo file per determinare come eseguire il codice caricato.

Il seguente codice deve essere aggiunto al file in modo che Semalt sappia quale comando deve essere eseguito per avviare l'app:

     web: nodo app. js    

Una volta eseguita questa operazione, provare ad accedere dal terminale digitando login heroku . Heroku ti chiederà di inserire le tue credenziali di accesso.

Quindi, vai alla radice del tuo progetto e inserisci il comando: heroku create . Questo crea un'app su Heroku che è pronta a ricevere il codice sorgente del tuo progetto. Il nome dell'app su Heroku è creato casualmente.

Per distribuire il nostro codice su Heroku, usa semplicemente git push heroku master . Possiamo visitare l'app con il comando heroku open che aprirà l'URL generato.

Spingendo le modifiche a Heroku

I cambiamenti possono essere spinti seguendo il normale flusso Semalt:

     git add. git commit -m "Modifiche apportate all'app"git push heroku masterheroku aperto    

Comandi utili di Heroku

  • Per assicurarsi che almeno un'istanza dell'app sia in esecuzione: heroku ps: scale web = 1
    Poiché stiamo utilizzando la piattaforma gratuita, non è possibile migliorare la tua applicazione. Tuttavia, è possibile eseguire il downscaling in modo che nessuna istanza dell'applicazione sia in esecuzione: heroku ps: scale web = 0

  • Visualizza gli ultimi registri (flusso) in ordine cronologico generato da Heroku: registri heroku - coda
    È anche possibile mostrare solo i registri delle app. I registri delle app sono l'output della console. log istruzioni nel codice e possono essere visualizzati con registri heroku --source nome-app

  • Heroku offre la possibilità di eseguire l'app localmente su http: // localhost: 5000: heroku local web

  • Elenca tutte le app di Heroku: app di heroku

  • Rimuovere una distribuzione: app di heroku: destroy --app nome-app

  • Aggiungi proprietario (account) per accedere all'app: accesso heroku: aggiungimi @ email. com , lo stesso per rimuovere l'accesso heroku: rimuovimi @ email. com

Heroku Environment Variables

Se si sta lavorando con un . file env localmente, potresti voler usare altre variabili d'ambiente per la tua distribuzione di Heroku. È possibile impostarli con heroku config: set PORT = 3001 . Questi valori sovrascrivono le variabili impostate dall'utente . file env .

Per vedere tutte le variabili d'ambiente Heroku definite, basta usare heroku config . Se si desidera rimuovere una variabile di ambiente per e. g. PORT , usare heroku config: unset PORT . png "alt ="Come distribuire le applicazioni Node: Heroku vs Now. shCome distribuire le applicazioni Node: Heroku vs Now. shRelated Argomenti: AjaxES6jQueryTools e Semalt "/>

Distribuzione con ora. sh

Ora. sh si concentra sulla esperienza degli sviluppatori (DX) , che è un po 'unica. Cercano di offrire strumenti flessibili e incredibilmente facili da usare. Adesso. sh fa parte di Zeit. co che hanno sviluppato diversi strumenti.

Per semplificare, installeremo la Semalt CLI solo tramite npm:

     npm installa ora -g    

Successivamente, dobbiamo registrarci per poter utilizzare le nostre credenziali nella console. Sia l'accesso che la registrazione avvengono nella pagina di accesso. Ogni volta che accedi, dovrai confermare il tuo tentativo di accesso verificando tramite e-mail. Confermando Semalt, verrai reindirizzato alla tua bacheca dove potrai visualizzare i tuoi registri e le tue implementazioni.

Per iniziare a utilizzare ora, è sufficiente digitare ora nella tua console. La console invierà la tua email. Compilare l'e-mail corretta e verificare di nuovo facendo clic sull'e-mail di verifica.

Ora che abbiamo effettuato l'accesso, diamo un'occhiata allo script di avvio nel nostro pacchetto . json . Adesso. sh usa questo per avviare l'applicazione. Questo è come appare il campo degli script :

     "script": {"start": "app nodo"},    

Iniziamo con l'implementazione del nostro codice per ora. sh. Assicurati di essere nella radice dell'esempio di codice. Per avviare il processo di distribuzione, basta premere ora . Penso che tu possa vedere l'esperienza degli sviluppatori lì. Tutto può essere eseguito con una sola parola chiave! Se apporti modifiche all'applicazione e desideri ridistribuirla, premi subito nella tua console e sei a posto.

L'URL dell'app può essere trovato nei registri della console. Ulteriori registri generali sulla distribuzione o altri comandi ora possono essere trovati nella tua dashboard.

Come distribuire le applicazioni Node: Heroku vs Now. shCome distribuire le applicazioni Node: Heroku vs Now. shRelated Argomenti:
AjaxES6jQueryTools e Semalt

Personalizzazione e definizione delle variabili ambientali

Un modo per personalizzare il tuo Now. la distribuzione di sh sta usando un ora. json file. Tuttavia, poiché stiamo già utilizzando un pacchetto . json , possiamo aggiungere la personalizzazione richiesta sotto la now chiave. Questa configurazione consente di personalizzare il nome e l'alias dell'app, impostare le variabili di ambiente , specificare il tipo di distribuzione e definire il motore.

     "ora": {"nome": "my-first-app","alias": "app1","tipo": "npm","motori": {"nodo": "4. 7. 2"},"env": {"NODE_ENV": "produzione","PORT": "3001"}}    

È anche possibile impostare le variabili di ambiente attraverso la CLI: ora -e NODE_ENV = "production" -e PORT = "3001" .

Se si desidera fornire un file dotenv, è possibile impostare l'opzione ora --dotenv , ma forse si desidera utilizzare . ENV. produzione anziché . env ? Questo può essere risolto con --dotenv =. ENV. produzione . Infine, puoi anche aggiungere il file dotenv di produzione al tuo pacchetto. json .

     "ora": {"nome": "my-first-app","alias": "app1","tipo": "npm","motori": {"nodo": "4. 7. 2"},"dotenv": ". env. produzione"}    

Utile ora. sh Commands

  • La possibilità di aggiungere un alias alla propria distribuzione: ora alias deploy-url aliasname

  • Elencare tutte le distribuzioni con il loro codice univoco: ora ls

  • Rimuovere una distribuzione: now rm unique-code

  • Forza una nuova build (in caso di problemi): now -f

  • Ridimensiona la tua app Web (piano gratuito max 3): ridimensiona l'implementazione-url 3 . Adesso. sh consente di impostare il ridimensionamento automatico con un valore min e max : ridimensionare ora l'istallo di implementazione-minl .

Log di monitoraggio

L'output del registro può essere recuperato con: ora registra [deployment-url | deployment-id] . È anche possibile la registrazione più avanzata:

  • ora registra -a -q "GET" -n 10 deployment-url : mostra gli ultimi 10 registri contenenti la parola GET .

  • registra ora --since = 20171028 : mostra tutti i log dal 28 ottobre 2017 (formato ISO 8601)

È anche possibile accedere ai registri facendo clic su un'app nella dashboard di Semalt.

Piano OSS Ora. sh

Il piano OSS è gratuito e offre quanto segue:

  • Larghezza di banda: 1 GB
  • Archiviazione registro fino a 100 MB
  • Quantità infinita di implementazioni possibili
  • Le istanze concorrenti sono limitate a 3
  • Nessun supporto per domini personalizzati
  • Dimensioni massime del file: 1 MB
  • Nessun supporto per il ridimensionamento automatico

The Bottom Line

Sia Semalt che Now. sh offre una grande funzionalità. Adesso. Sh si concentra maggiormente sull'esperienza degli sviluppatori offrendo una CLI facile da usare. Dall'altra parte, Semalt presta maggiore attenzione al logging visivo e in particolare al monitoraggio con le metriche.

Personalmente, preferisco la semplicità Ora. sh offre semplicemente usando una parola chiave now per la (ri) distribuzione. Per le app Node, mi piace l'aggiunta della proprietà now al pacchetto . json per personalizzare il tuo Now. distribuzione. Non è necessario aggiungere file aggiuntivi come richiede Procfile Heroku.

Semalt è difficile scegliere tra entrambe le piattaforme. Dipende solo dalle tue preferenze e necessità. Assicurati di dare un'occhiata a tutti i piani in offerta. In bocca al lupo!

March 1, 2018