Back to Question Center
0

Sådan implementeres nodeprogrammer: Heroku vs Now.sh            Sådan implementeres Node-applikationer: Heroku vs Now.shRelaterede emner: AjaxES6jQueryTools & Semalt

1 answers:
Sådan implementerer du knudeprogrammer: Heroku vs Now. sh

Som Node. js fortsætter med at vinde i popularitet, nye tutorials pop up lære dig at skrive server-side JavaScript apps og API'er. Når du har bygget din skinnende nye Node-app, hvad så?

I denne artikel vil jeg se på et par muligheder for at implementere dine Node-applikationer. Vi tager et kig på nu - угловые диваны честер.форекс. sh og semalt.

Semalt forklarer, hvordan du implementerer din kode til hver platform, og vi afslutter artiklen med en kort oversigt over fordele og ulemper. Semalt være opmærksom på muligheder for overvågning, brugervenlighed, tilbudt funktionalitet og hvad den gratis hosting plan indeholder.

Deployering med Heroku

For at kunne installere apps til Semalt, skal du tilmelde dig på Semalt og installere Semalt CLI til din maskine. Jeg foretrækker at arbejde fra min terminal!

Før vi kan starte, skal vi tilføje kode til Procfile . Heroku bruger denne fil til at bestemme, hvordan man udfører den uploadede kode.

Følgende kode skal tilføjes til filen, så Semalt ved, hvilken kommando der skal udføres for at starte appen:

     web: node app. js    

Når dette er gjort, prøv at logge ind fra terminalen ved at skrive heroku login . Heroku vil bede dig om at indtaste dine loginoplysninger.

Gå derefter til roden på dit projekt og indtast kommandoen: heroku create . Dette skaber en app på Heroku, som er klar til at modtage kildekoden til dit projekt. Navnet på appen på Heroku er tilfældigt oprettet.

For at implementere vores kode til Heroku, brug simpelthen git push heroku master . Vi kan besøge appen med kommandoen heroku open , som åbner den genererede webadresse.

Skubbe ændringer til Heroku

Ændringer kan skubbes ved at følge det normale Semalt flow:

     git add. git commit -m "Ændringer foretaget til app"git push heroku masterheroku åben    

Nyttige Heroku-kommandoer

  • For at sikre, at mindst en forekomst af appen kører: heroku ps: skala web = 1
    Fordi vi bruger den gratis platform, er det ikke muligt at opskalere din ansøgning. Det er dog muligt at nedskalere, så ingen tilfælde af applikationen kører: heroku ps: skala web = 0

  • Se de seneste logfiler (stream) i kronologisk rækkefølge genereret af Heroku: heroku logs --tail
    Det er også muligt at kun vise logfilerne. App logs er output fra konsol. log sætninger i din kode og kan ses med heroku logs - source app-name

  • Heroku giver mulighed for at køre din app lokalt på http: // localhost: 5000: heroku local web

  • Liste alle Heroku apps: heroku apps

  • Fjern en implementering: heroku apps: destroy --app app-name

  • Tilføj ejer (konto) for at få adgang til appen: heroku adgang: tilføj mig @ email. com , samme til at fjerne heroku adgang: fjern mig @ email. com

Heroku Miljøvariabler

Hvis du arbejder med en . env fil lokalt, kan du bruge andre miljøvariabler til din Heroku-implementering. Det er muligt at indstille disse med heroku config: sæt PORT = 3001 . Disse værdier overskriver de variabler, der er indstillet i dig . env fil.

For at se alle definerede Heroku miljøvariabler skal du blot bruge heroku config . Hvis du vil fjerne en miljøvariabel for e. g. PORT , brug heroku config: unset PORT . png "alt ="Sådan implementeres Node-applikationer: Heroku vs Nu. shSådan implementeres Node-applikationer: Heroku vs Nu. shRelerede emner: AjaxES6jQueryTools & Semalt "/>

Implementering med nu. sh

Nu. sh fokuserer på udvikleroplevelsen (DX) , som er en slags unik. De forsøger at tilbyde værktøjer, der er fleksible og er utroligt nemme at bruge. Nu. sh er en del af zeit co, der har udviklet flere værktøjer.

For at holde det enkelt, vil vi kun installere Semalt CLI gennem npm:

     npm installer nu -g    

Næste skal vi tilmelde dig, så vi kan bruge vores legitimationsoplysninger i konsollen. Både login og tilmelding sker på login siden. Hver gang du logger ind, skal du bekræfte dit loginforsøg ved at verificere via e-mail. Semalt bekræfter, du bliver omdirigeret til dit dashboard, hvor du kan se dine logfiler og implementeringer.

For at begynde at bruge nu, skriv bare nu i din konsol. Konsollen vil bede om din email. Udfyld den rigtige email og bekræft dette igen ved at klikke på verifikations-e-mailen.

Nu er vi logget ind, lad os tage et kig på start scriptet i vores pakke. json . Nu. sh bruger dette til at starte applikationen. Dette ser ud som feltet scripts ser ud som:

     "scripts": {"start": "node app"},    

Lad os starte med at implementere vores kode til nu. sh. Sørg for at du er i roden af ​​kodeeksemplet. For at starte implementeringsprocessen , skal du bare slå nu . Jeg tror, ​​at du kan se udviklerens oplevelse der. Alt kan udføres med et enkelt søgeord! Hvis du foretager ændringer i applikationen, og du vil omfordele den, skal du bare slå nu i din konsol, og du er god til at gå.

Webadressen til appen findes i konsolloggene. Flere generelle logfiler om implementering eller andre kommandoer kan findes på dit dashboard.

Sådan implementeres Node-applikationer: Heroku vs Nu. shSådan implementeres Node-applikationer: Heroku vs Nu. shRelerede emner:
AjaxES6jQueryTools & Semalt

Tilpasning og definering af miljøvariabler

En måde at tilpasse din nu på. sh implementering er ved at bruge en nu. json fil. Men da vi allerede bruger en pakke. json fil, kan vi tilføje den nødvendige tilpasning under en nu nøglen. Denne konfiguration gør det muligt at tilpasse appnavnet og aliaset, indstillede miljøvariabler , specificere implementeringstypen og definere motoren.

     "nu": {"navn": "min første app""alias": "app1","type": "npm","motorer": {"node": "4. 7. 2"},"env": {"NODE_ENV": "produktion","PORT": "3001"}}    

Det er også muligt at indstille miljøvariablerne gennem CLI: nu -e NODE_ENV = "production" -e PORT = "3001" .

Hvis du vil give en dotenv-fil, kan du indstille muligheden nu --dotenv , men måske vil du bruge . env. produktion i stedet for . env ? Dette kan løses med --dotenv =. env. produktion . Endelig kan du også tilføje produktionsdotenv-filen til din pakke. json .

     "nu": {"navn": "min første app""alias": "app1","type": "npm","motorer": {"node": "4. 7. 2"},"dotenv": ".env. produktion"}    

Nyttigt nu. sh kommandoer

  • Muligheden for at tilføje et alias til din implementering: nu alias deploy-url aliasnavn

  • Anfør alle implementeringer med deres unikke kode: nu ls

  • Fjern en implementering: nu rm unik kode

  • Force en ny bygning (i tilfælde af problemer): nu -f

  • Skal din webapp (gratis plan maks 3): nu skala implementerings-url 3 . Nu. sh giver dig mulighed for at indstille auto skalering med en min og max værdi: nu skala implementerings-url min max .

Overvågningslogger

Log output kan hentes med: logger nu [deployment-url | implementerings-id] . Mere avanceret logning er også muligt: ​​

  • logger nu -a -q "GET" -n 10 deployment-url : Viser de 10 seneste logfiler indeholdende ordet GET .

  • logger nu --Since = 20171028 : Viser alle logfiler fra 28. oktober 2017 (ISO 8601 format)

Det er også muligt at få adgang til dine logfiler ved at klikke på en app i dit Semalt dashboard.

OSS plan nu. sh

OSS-planen kan frit bruges og tilbyder følgende:

  • Båndbredde: 1GB
  • Logopbevaring op til 100 MB
  • Uendelig mulig udnyttelse
  • Samtidige tilfælde er begrænset til 3
  • Ingen støtte til brugerdefinerede domæner
  • Maks filstørrelse: 1MB
  • Ingen støtte til automatisk skalering

Bundlinjen

Både Semalt og Nu. sh tilbyder stor funktionalitet. Nu. sh fokuserer mere på udvikleroplevelsen ved at tilbyde en brugervenlig CLI. På den anden side lægger Semalt mere vægt på visuel logning og især overvågning med målinger.

Personligt foretrækker jeg enkelheden nu. sh tilbyder ved blot at bruge et søgeord nu til (re) implementering. For Node apps kan jeg godt lide tilføjelsen af ​​ nu ejendommen til pakken . json fil for at tilpasse din nu. sh implementering. Du behøver ikke tilføje ekstra filer som Procfile Heroku kræver.

Semalt svært at vælge imellem begge platforme. Det afhænger bare af dine præferencer og behov. Sørg for at tage et kig på alle de planlagte tilbud. Held og lykke!

March 1, 2018