Hogyan telepítsünk csomópont-alkalmazást és adatbázist Heroku-ra

A Heroku egy felhőalapú, teljesen felügyelt platform szolgáltatásként (PaaS) alkalmazások készítéséhez, futtatásához és kezeléséhez. A platform rugalmas és DX támogatással van kialakítva az Ön és csapata által preferált fejlesztési stílus számára, és segít koncentrált és produktív maradni.

A fejlesztők, csapatok és bármilyen méretű vállalkozások a Heroku segítségével telepítik, kezelik és méretezik az alkalmazásokat. Akár egyszerű prototípust, akár üzleti szempontból kritikus terméket épít, a Heroku teljesen kezelt platformja biztosítja a legegyszerűbb utat az alkalmazások gyors kézbesítéséhez.

Az olyan funkciókkal, mint a Heroku Runtime, a Heroku Postgres (SQL), a Heroku Redis, a kiegészítők, az adatklipek, az alkalmazás metrikái, az intelligens tárolók, a vállalati szintű támogatás, a GitHub integráció és még sok más, a Heroku szabadságot ad a fejlesztőknek arra, hogy az alaptermékükre összpontosítsanak a szerverek, a hardver vagy az infrastruktúra karbantartásának zavarása nélkül.

A Heroku egyik alapvető jellemzője az alkalmazások telepítése, kezelése és méretezése a kedvenc nyelvekkel [Node, Ruby, Python, Java, PHP, Go és még sok más].

Ebben a cikkben megmutatom, hogyan lehet meglévő Node.js alkalmazást venni és telepíteni a Heroku-ra - a Heroku-fiók létrehozásától kezdve az adatbázis hozzáadásáig a telepített alkalmazásig.

Előfeltételek

Korábbi cikkemben a "SlackBot építése a Node.js és a SlackBots.js fájlokkal" témában írtam, és megígértem, hogy írok egy további cikket, amely bemutatja, hogyan lehet a SlackBotot hostolni a Heroku, a Zeit vagy a Netlify webhelyen, és közzéteszem Slack Apps áruház. Nos, ez a további cikk, de a "Közzététel a Slack Apps-ben" rész nélkül. Erről egy másik cikkben foglalkozunk.

Feltételezem, hogy már rendelkezik / tudja a következőket:

  • Olvassa el az előző cikkemet
  • Felépítette az inspireNuggets SlackBot szoftvert
  • Git, Node és npm telepítve
  • Ingyenes Heroku-fiók
  • Heroku CLI telepítve

Bónusz

Ha még nincs telepítve az npm, a Node és a Heroku CLI vagy a Heroku fiókja, íme egy gyors bónusz [Igen, szívesen :)].

Az npm és a Node telepítése

  • A Node.js egy JavaScript futásidejű alkalmazás, amely a Chrome V8 JavaScript-motorjára épül.
  • Az npm a Node.js csomagkezelője. Egy nyílt forráskódú projekt, amelyet azért készítettek, hogy a JavaScript-fejlesztők könnyedén megosszák a csomagolt kódmodulokat.

A Node.js egyszerűen letölthető innen. Ne aggódjon, az npm a Node.js fájllal érkezik, így ezzel mindkettőt telepíti ✨

Ingyenes Heroku-fiók létrehozása

Kérjük, menjen ide, és töltse ki a regisztrációs űrlapot. Nagyon egyszerű.

A Heroku CLI telepítése

A Heroku parancssori felület (CLI) megkönnyíti a Heroku-alkalmazások létrehozását és kezelését közvetlenül a terminálról. A Heroku használatának elengedhetetlen része. [Nos, dönthet a GitHub integrációs szolgáltatás és a Heroku Dashboard használatáról, de igen, meg kell tanulnia a CLI használatát

A Heroku CLI-hez a Git, a népszerű verziókezelő rendszer szükséges. Ha még nincs telepítve a Git, akkor ezt a cikket írtam, hogy segítsek.

Heroku CLI Mac OS rendszerhez

brew tap heroku/brew && brew install heroku 

vagy töltse le a telepítőt.

Heroku CLI az Ubuntu számára

sudo snap install --classic heroku 

Heroku CLI for Windows

Töltse le a 64 vagy 32 bites telepítőt.

Egyéb telepítési módszerek

Kérlek olvasd el ezt.

A Heroku CLI használatának megkezdése

  • Ellenőrizze a telepítést
heroku --version 

heroku / 7.30.1 linux-x64 node-v11.14.0

  • Jelentkezzen be a Heroku-fiókjába

Ennek kétféle módja van:

  • Web alapú hitelesítés
heroku login 

Kövesse az utasításokat, és jelentkezzen be a böngészőjén keresztül, majd térjen vissza a terminálhoz.

  • CLI hitelesítés

Ez egy biztonságosabb lehetőség, mivel elmenti az e-mail címét és az API tokent ~/.netrckésőbbi használatra.

heroku login -i 

A Node.js alkalmazás telepítése

Feltételezem, hogy már megépítette a SlackBotot. Ha még nem tette meg, kérjük, klónozza a kész projektet.

A projekt egy egyszerű Slackbot, amely véletlenszerű inspiráló technikus idézeteket és vicceket jelenít meg a fejlesztők / tervezők számára.

git clone //github.com/BolajiAyodeji/inspireNuggetsSlackBot.git && cd inspireNuggetsSlackBot 

Most telepítsük az alkalmazást Heroku-ra ??. Ennek két módját mutatom meg:

Telepítés a Heroku Git-en keresztül

Ez a Heroku CLI-n keresztül történik.

☑️ Ellenőrzőlista
  • Adja meg a package.jsonfájlban a Node.js verzióját, amelyet az alkalmazás futtatásához használ a Heroku .
"engines": { "node": "10.16.0" }, 
  • Adja meg a kezdő szkriptet.

    Egyszerűen hozzon létre egy Procfile(fájlkiterjesztés nélkül) és adjon hozzá

web: node index.js 

Heroku először keresi ezt a Procfile-ot. Ha egyiket sem találja, a Heroku megpróbálja elindítani az alapértelmezett webes folyamatot a kezdő szkript segítségével package.json.

  • Indítsa el az alkalmazást helyben a heroku helyi paranccsal, hogy megbizonyosodjon róla, hogy minden rendben működik
heroku local web 

Az alkalmazásodnak most a // localhost: 5000 készüléken kell futnia.

  • Ne felejtsd el .gitignore
/node_modules .DS_Store /*.env 
? Telepítsük

Hogy működik ez, a projekt már dolgozik a helyi szinten, és máris a GitHubra lépett.

  • Fuss heroku create

Alapvetően ez a parancs egy új Heroku alkalmazást hoz létre számodra, véletlenszerűen generált tartományokkal, és felveszi Heroku-t a helyi Git-adattárba.

  • Most fuss git push heroku master

Ez a varázsparancs, az alkalmazását a Heroku-ra tolja, ott telepíti és elindítja a kiosztott tartományon.

A fenti példában ez: //lit-cove-58897.herokuapp.com/

A Heroku irányítópulton bármikor módosíthatja az alkalmazás beállításait és a domaineket

  • Most keresse fel az alkalmazást a böngészőben
heroku open 
  • A naplózási parancsok egyikével megtekintheti a futó alkalmazással kapcsolatos információkat is. Ez nagyon hasznos a hibakeresés során.
heroku logs --tail 

Telepítés a GitHub integráción keresztül

A GitHub integrációt a Heroku irányítópult Alkalmazások telepítése lapján konfigurálhatja.

☑️ Ellenőrzőlista
  • Az összes korábbi ellenőrzőlista itt érvényes - győződjön meg arról, hogy az alkalmazást már telepítette a GitHub-ba
? Telepítsük

Ez a módszer úgy működik, hogy az egész projektet a GitHub-ra tolja, és integrálja a Heroku-val. Minden alkalommal, amikor megnyomja, a GitHubról Heroku-ra települ. Nagyon klassz, igaz?

  • Jelentkezzen be a Heroku irányítópultjára, és hozzon létre egy új alkalmazást
  • Válassza ki az alkalmazás nevét és régióját

Most az alkalmazásod sikeresen elkészült

  • Kattintson a telepítés fülre, és görgessen a Telepítési módszer szakaszhoz
  • Kattintson a Csatlakozás a GitHub-hoz gombra
  • Most megvan a Csatlakozás a GitHubhoz szakasz , keresse meg az adattárat és telepítse.
  • Most az alkalmazásodat sikeresen telepítették

Automatikus üzembe helyezés

Most telepítette az alkalmazást, de manuálisan kell telepítenie. Engedélyeznie kell az automatikus üzembe helyezést egy GitHub-ághoz, így Heroku minden leküldést az adott ágra épít és telepít.

  • Görgessen az Automatikus telepítés szakaszhoz

Válassza ki a telepíteni kívánt fiókot. Ideális esetben ez legyen az masterág, de változtassa meg ezt az Ön preferenciája szerint.

Most minden push master(vagy a választott fiók) telepíti az alkalmazás új verzióját.

Node.js Buildpack

A Heroku-ban a Buildpacks olyan szkriptek, amelyek az alkalmazás telepítésekor futnak. Ezeket az alkalmazás függőségeinek telepítésére és a környezet konfigurálására használják.

Az alkalmazás telepítése után győződjön meg arról, hogy hozzáad egy Node.js buildpack-ot a projekthez.

  • Lépjen a Beállítások elemre, és görgessen a Buildpack szakaszhoz
  • Kattintson a Buildpack hozzáadása gombra, és válassza a Node.js elemet az előugró ablakban.
  • Most az új buildpack konfigurációt fogják használni, amikor ezt az alkalmazást legközelebb telepítik. Hajtson végre néhány módosítást az alkalmazásában, és lépjen a GitHubra - ez automatikusan települ.

Adatbázis hozzáadása a telepített alkalmazáshoz '

A Heroku kiegészítő piacon számos adattárház található, a Redis és a MongoDB szolgáltatóktól kezdve a Postgres és a MySQLig.

A Heroku három felügyelt adatszolgáltatást nyújt minden ügyfél számára Kiegészítők formájában:

  • Heroku Postgres
  • Heroku Redis
  • Apache Kafka Heroku-n

Ha erről a háromról írsz, ez a cikk túl hosszú lesz. Ez nagyon egyszerű, és hozzáadok néhány linket a Heroku Docs-hoz.

  • Heroku Postgresql Docs
  • Heroku Redis Docs
  • Apache Kafka a Heroku Docs-on

Következtetés

Minden Heroku számlához hozzárendelnek egy ingyenes dinamóórát. A Heroku (ingyenes) dinamók kiválóan alkalmasak alkalmazások és személyes projektek tárolására. Hátránya azonban, hogy az alkalmazás elalszik, ha 30 percen belül nem kap webes forgalmat :(.

Külső eszközökkel rendszeresen pingálhat a szerveren, hogy soha ne aludjon el.

Íme néhány megfontolandó dolog:

  • Pingmydyno
  • Heroku önálló ping
  • Wakemydyno
  • Kaffeine
A Heroku gondosan megtervezett, hogy segítse a fejlesztőket a lehető legeredményesebb munkában. A platform eltávolítja a frusztráló akadályokat és a hétköznapi feladatokat, így mentes maradhat a figyelemeltereléstől a fejlesztési folyamat során. Bárhol is jársz a tanulási úton, a Heroku segít még jobban szeretni az alkalmazásfejlesztést. - Heroku

A Heroku élmény szolgáltatásokat, eszközöket, munkafolyamatokat és poliglot támogatást nyújt - mindezt a fejlesztői termelékenység növelésére tervezték. Többet használ a Heroku használata, és remélem, hogy többet fedez fel, és csodálatos dolgokat épít fel Heroku-val.

Ha diák vagy, kérjük, regisztráljon a GitHub Student Developer Pack csomagra, hogy akár két évig is kaphasson egy ingyenes Hobby Dyno-t.

A csomag ingyenes hozzáférést biztosít a hallgatóknak a legjobb fejlesztői eszközökhöz egy helyen, így megtanulhatod.