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 ~/.netrc
ké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.json
fá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 é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.