Back to Question Center
0

Slik distribuerer du Nøkkelprogrammer: Heroku vs Now.sh            Slik distribuerer du Nøkkelprogrammer: Heroku vs Now.shRelated Topics: AjaxES6jQueryTools & Semalt

1 answers:
Slik distribuerer du Nøkkelprogrammer: Heroku vs Nå. sh

som node. js fortsetter å vinne i popularitet, nye opplæringsprogrammer dukker opp og lærer deg å skrive JavaScript-applikasjoner og APIer på serversiden - table tempered glass. Når du har bygget din skinnende nye Node-app, skjønt, hva da?

I denne artikkelen skal jeg se på noen alternativer for distribusjon av Node-applikasjonene dine. Vi tar en titt på nå. sh og semalt.

Semalt forklar hvordan du distribuerer koden til hver plattform, og vi avslutter artikkelen med en kort oppsummering av fordeler og ulemper. Semalt være oppmerksom på muligheter for overvåkning, brukervennlighet, tilbys funksjonalitet og hva den gratis hosting planen inkluderer.

Distribusjon med Heroku

For å kunne distribuere apper til Semalt må du registrere deg på Semalt og installere Semalt CLI for maskinen din. Jeg foretrekker å jobbe fra min terminal!

Før vi kan starte, må vi legge til noe kode til Procfile . Heroku benytter denne filen for å bestemme hvordan man utfører den opplastede koden.

Følgende kode må legges til filen så Semalt vet hva kommandoen skal utføres for å starte appen:

     web: node app. js    

Når dette er gjort, prøv å logge inn fra terminalen ved å skrive heroku login . Heroku vil be deg om å skrive inn påloggingsinformasjonen din.

Deretter naviger til roten til prosjektet ditt og skriv inn kommandoen: heroku create . Dette skaper en app på Heroku som er klar til å motta kildekoden til prosjektet ditt. Navnet på appen på Heroku er tilfeldig opprettet.

For å distribuere vår kode til Heroku, bruk bare git push heroku master . Vi kan besøke appen med kommandoen heroku open som åpner den genererte nettadressen.

Skubbe endringer til Heroku

Endringer kan skyves ved å følge den normale Semalstrømmen:

     git add. git commit -m "Endringer gjort til app"git push heroku masterheroku åpen    

Nyttige Heroku-kommandoer

  • For å sikre at minst en forekomst av appen kjører: heroku ps: skala web = 1
    Fordi vi bruker den gratis plattformen, er det ikke mulig å oppskalere søknaden din. Det er imidlertid mulig å nedskalere slik at ingen tilfeller av søknaden kjører: heroku ps: skala web = 0

  • Se de siste loggene (stream) i kronologisk rekkefølge generert av Heroku: heroku logs --tail
    Det er også mulig å bare vise apploggene. App logger er utgangen av konsollen. logg setninger i koden din og kan ses med heroku logger - kilden app-navn

  • Heroku gir mulighet til å kjøre appen din lokalt på http: // localhost: 5000: heroku local web

  • Liste alle Heroku apps: heroku apps

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

  • Legg til eier (konto) for å få tilgang til appen: heroku tilgang: legg til meg @ email. com , samme for å fjerne heroku tilgang: fjern meg @ email. com

Heroku Miljøvariabler

Hvis du jobber med en . env fil lokalt, vil du kanskje bruke andre miljøvariabler for din Heroku-distribusjon. Det er mulig å sette disse med heroku config: sett PORT = 3001 . Disse verdiene overskriver variablene som er angitt i deg . env fil.

For å se alle definerte Heroku miljøvariabler, bruk bare heroku config . Hvis du vil fjerne en miljøvariabel for e. g. PORT , bruk heroku config: unset PORT . png "alt ="Slik distribuerer du Nøkkelprogrammer: Heroku vs Nå. shSlik distribuerer du Nøkkelprogrammer: Heroku vs Nå. shRelated emner: AjaxES6jQueryTools & Semalt "/>

Distribusjon med nå. sh

nå. sh fokuserer på utvikleropplevelsen (DX) , som er litt unik. De prøver å tilby verktøy som er fleksible og er utrolig enkle å bruke. Nå. sh er en del av Zeit. co som har utviklet flere verktøy.

For å holde det enkelt, vil vi bare installere Semalt CLI gjennom npm:

     npm installer nå -g    

Deretter må vi registrere seg slik at vi kan bruke våre legitimasjonsbeskrivelser i konsollen. Både innlogging og påmelding skjer på innloggingssiden. Hver gang du logger på, må du bekrefte innloggingsforsøket ditt ved å bekrefte via e-post. Semaltbekreftende, du blir omdirigert til dashbordet ditt der du kan se loggene og distribusjonene dine.

For å begynne å bruke nå, skriv bare i konsollen. Konsollen vil spørre e-posten din. Fyll inn riktig e-post og bekreft dette igjen ved å klikke på bekreftelsesmeldingen.

Nå er vi logget inn, la oss ta en titt på startskriptet i pakken vår . json . Nå. sh bruker dette for å starte programmet. Dette er hva feltet skript ser ut som:

     "skript": {"start": "node app"}    

La oss begynne med å distribuere koden vår til nå. sh. Pass på at du er i roten til kodeeksemplet. For å starte distribusjonsprosessen, , klikk bare . Jeg tror du kan se utvikleropplevelsen der. Alt kan utføres med bare ett søkeord! Hvis du gjør endringer i programmet, og du vil omfordele det, bare klikk i konsollen din, og du er god til å gå.

Nettadressen til appen finnes i konsollloggene. Flere generelle logger om distribusjon eller andre nå kommandoer kan bli funnet på dashbordet.

Slik distribuerer du Nøkkelprogrammer: Heroku vs Nå. shSlik distribuerer du Nøkkelprogrammer: Heroku vs Nå. shRelated emner:
AjaxES6jQueryTools & Semalt

Tilpasning og definering av miljøvariabler

En måte å tilpasse din nå på. sh distribusjon er ved å bruke en nå. json fil. Men siden vi allerede bruker en pakke. json fil, kan vi legge til nødvendig tilpasning under en nøkkel. Denne konfigurasjonen lar deg tilpasse appnavnet og aliaset, angitte miljøvariabler , angi distribusjonstypen og definere motoren.

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

Det er også mulig å sette miljøvariabler gjennom CLI: nå -e NODE_ENV = "production" -e PORT = "3001" .

Hvis du vil gi en dotenv-fil, kan du angi alternativet nå --dotenv , men kanskje du vil bruke . env. produksjon i stedet for . env ? Dette kan løses med --dotenv =. env. produksjon . Til slutt kan du også legge til produksjon dotenv filen til din pakke. json .

     "nå": {"navn": "min første app","alias": "app1","type": "npm","motorer": {"node": "4. 7. 2"}"dotenv": "Env. produksjon"}    

Nyttig nå. sh kommandoer

  • Muligheten til å legge til et alias for distribusjonen din: nå alias deploy-url aliasnavn

  • Liste alle distribusjoner med sin unike kode: nå ls

  • Fjern en distribusjon: nå rm unike kode

  • Kraftig nybygging (i tilfelle problemer): nå -f

  • Skala din webapp (gratis plan maks 3): nå skala distribusjon-url 3 . Nå. sh gjør det mulig å angi automatisk skalering med en min og max verdi: nå skala utplassering-url min max .

Overvåkingslogger

Logutgang kan hentes med: logger nå [distribusjon-url | distribusjons-ID] . Mer avansert logging er også mulig:

  • logger nå -a -q "GET" -n 10 distribusjons-url : Viser de 10 siste loggene som inneholder ordet GET .

  • logger nå - siden = 20171028 : Viser alle loggene fra 28. oktober 2017 (ISO 8601 format)

Det er også mulig å få tilgang til loggene dine ved å klikke på en app i Semalt dashbordet.

OSS plan nå. sh

OSS-planen er fri til bruk og tilbyr følgende:

  • Båndbredde: 1GB
  • Lagringsplass opptil 100 MB
  • Uendelig utnyttelsesgrad mulig
  • Samtidige forekomster er begrenset til 3
  • Ingen støtte for egendefinerte domener
  • Maks filstørrelse: 1MB
  • Ingen støtte for automatisk skalering

Bunnlinjen

Både Semalt og Nå. Sh tilbyr flott funksjonalitet. Nå. sh fokuserer mer på utvikleropplevelsen ved å tilby en brukervennlig CLI. På den andre siden betaler Semalt mer oppmerksomhet mot visuell logging og spesielt overvåking med beregninger.

Personlig foretrekker jeg enkelheten nå. sh tilbyr ved bare å bruke ett søkeord for (re) distribusjon. For Node apps, liker jeg tillegget av eiendommen til pakken. json fil for å tilpasse din nå. sh distribusjon. Du trenger ikke å legge til ekstra filer som Procfile Heroku krever.

Semalt vanskelig å velge mellom begge plattformene. Det avhenger bare av dine preferanser og behov. Sørg for å ta en titt på alle planene som tilbys. Lykke til!

March 1, 2018