Heroku este o platformă bazată pe cloud, complet gestionată ca serviciu (PaaS) pentru construirea, rularea și gestionarea aplicațiilor. Platforma este flexibilă și proiectată cu suport DX pentru dvs. și stilul de dezvoltare preferat al echipei dvs. și pentru a vă ajuta să rămâneți concentrat și productiv.

Dezvoltatorii, echipele și companiile de toate dimensiunile folosesc Heroku pentru a implementa, gestiona și scala aplicațiile. Indiferent dacă construiți un prototip simplu sau un produs critic pentru afaceri, platforma complet gestionată de Heroku vă oferă cea mai simplă cale către livrarea rapidă a aplicațiilor.

Cu funcții precum Heroku Runtime, Heroku Postgres (SQL), Heroku Redis, Add-on-uri, Clipuri de date, valori pentru aplicații, containere inteligente, suport de nivel Enterprise, GitHub Integration și multe altele, Heroku oferă dezvoltatorilor libertatea de a se concentra asupra produsului lor principal fără distragerea atenției întreținerii serverelor, hardware-ului sau infrastructurii.

Cum sa implementati o aplicatie nod si o baza de

Una dintre caracteristicile principale ale lui Heroku este implementarea, gestionarea și scalarea aplicațiilor cu limbile preferate [Node, Ruby, Python, Java, PHP, Go, and more].
În acest articol, vă voi arăta cum să luați o aplicație existentă Node.js și să o implementați în Heroku – de la crearea contului Heroku până la adăugarea unei baze de date în aplicația dvs. implementată.

Condiții prealabile

În articolul meu anterior, am scris despre „Construirea unui SlackBot cu Node.js și SlackBots.js“și am promis că voi scrie un articol de urmărire pentru a arăta cum să găzduiți SlackBot pe Heroku, Zeit sau Netlify și să-l public în magazinul Slack Apps. Ei bine, acesta este articolul de urmărire, dar fără” Publicarea în Slack Partea „Aplicații”. Vom acoperi acest lucru într-un alt articol.

Presupun că aveți / știți deja următoarele:

Primă

Dacă nu aveți npm, Node și Heroku CLI instalate sau un cont Heroku deja, iată un bonus rapid [ Yes, you’re welcome 🙂 ].

Se instalează npm și Node

  • Node.js este un timp de execuție JavaScript construit pe Motorul JavaScript V8 al Chrome.
  • npm este managerul de pachete pentru Node.js. Un proiect open-source creat pentru a ajuta dezvoltatorii JavaScript să partajeze cu ușurință module de cod pachet.

Puteți descărca pur și simplu Node.js Aici. Nu vă faceți griji, npm vine cu Node.js, astfel încât acest lucru instalează ambele ✨

Crearea unui cont Heroku gratuit

Cap amabil Aici și completați formularul de înscriere. Este destul de simplu.

1612139108 653 Cum sa implementati o aplicatie nod si o baza de

Instalarea Heroku CLI

Interfața Heroku Command Line Interface (CLI) face ușoară crearea și gestionarea aplicațiilor Heroku direct de la terminal. Este o parte esențială a utilizării Heroku. [ Well, you can decide to use the GitHub integration feature and Heroku Dashboard but yes you should learn how to use the CLI ]
Heroku CLI necesită Git, popularul sistem de control al versiunilor. Dacă nu aveți deja Git instalat, am scris Acest articol sa te ajut.

Heroku CLI pentru Mac OS

brew tap heroku/brew && brew install heroku

sau descărcați programul de instalare.

Heroku CLI pentru Ubuntu

sudo snap install --classic heroku

Heroku CLI pentru Windows

Descărcați programul de instalare pentru 64 de biți sau 32 de biți.

Alte metode de instalare

Vă rog să citiți acest.

Noțiuni introductive despre Heroku CLI

  • Verificați instalarea
heroku --version

heroku / 7.30.1 linux-x64 node-v11.14.0

  • Conectați-vă la contul dvs. Heroku

Există două modalități de a face acest lucru:

  • Autentificare bazată pe web
heroku login
1612139108 657 Cum sa implementati o aplicatie nod si o baza de

Urmați instrucțiunile și conectați-vă prin browserul dvs. web, apoi reveniți la terminalul dvs.

1612139108 518 Cum sa implementati o aplicatie nod si o baza de
  • CLI auth

Aceasta este o opțiune mai sigură, deoarece vă salvează adresa de e-mail și un simbol API ~/.netrc pentru utilizare viitoare.

heroku login -i
1612139108 388 Cum sa implementati o aplicatie nod si o baza de

Implementarea aplicației Node.js

Presupun că ai construit deja SlackBot. Dacă nu ați făcut-o, vă rugăm să clonați proiectul terminat.

Proiectul este un Slackbot simplu care afișează citate și glume inspirate aleatorii pentru dezvoltatori / designeri.

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

Acum să implementăm aplicația noastră pe Heroku ??. Vă voi arăta două moduri de a face acest lucru:

Implementați prin Heroku Git

Acest lucru se face prin CLI-ul Heroku.

☑️ Lista de verificare
  • Specificați versiunea de Node.js care va fi utilizată pentru a rula aplicația dvs. pe Heroku în package.json fişier.
"engines": {
    "node": "10.16.0"
  },
  • Specificați scriptul de pornire.
    Pur și simplu creați un Procfile (fără nicio extensie de fișier) și adăugați
web: node index.js

Heroku caută mai întâi acest Procfile. Dacă nu se găsește niciunul, Heroku va încerca să înceapă un proces web implicit prin intermediul scriptului de pornire din package.json.

  • Porniți aplicația local folosind comanda locală heroku pentru a vă asigura că totul funcționează bine
heroku local web

Aplicația dvs. ar trebui să ruleze acum http: // localhost: 5000.

  • Nu uita .gitignore
/node_modules
.DS_Store
/*.env
? Să implementăm

Cum funcționează acest lucru, aveți deja proiectul care funcționează la nivel local și ați trecut deja la GitHub.

  • Alerga heroku create
1612139108 854 Cum sa implementati o aplicatie nod si o baza de

Practic, această comandă creează o nouă aplicație Heroku cu un domeniu generat aleatoriu și adaugă Heroku la depozitul Git local.

  • Acum fugi git push heroku master

Aceasta este comanda magică, vă împinge aplicația către Heroku, o instalează acolo și o lansează pe domeniul dvs. alocat.

În exemplul de mai sus, este https://lit-cove-58897.herokuapp.com/

Puteți face oricând modificări în setările aplicației și domeniile din Tabloul de bord Heroku

  • Acum vizitați aplicația din browser
heroku open
  • De asemenea, puteți vizualiza informații despre aplicația dvs. care rulează utilizând una dintre comenzile de înregistrare. Acest lucru este foarte util în depanarea erorilor.
heroku logs --tail

Implementați prin integrarea GitHub

Puteți configura integrarea GitHub în fila Implementare a aplicațiilor din Tabloul de bord Heroku.

☑️ Lista de verificare
  • Toate listele de verificare anterioare se aplică aici – asigurați-vă că aplicația este deja implementată pe GitHub
? Să implementăm

Cum funcționează această metodă este că vă împingeți întregul proiect în GitHub și îl integrați în Heroku. De fiecare dată când apeși, se instalează de la GitHub la Heroku. Destul de cool nu?

  • Conectați-vă la tabloul de bord Heroku și creați o aplicație nouă
1612139108 671 Cum sa implementati o aplicatie nod si o baza de
  • Selectați numele și regiunea aplicației
1612139108 199 Cum sa implementati o aplicatie nod si o baza de

Acum aplicația dvs. a fost creată cu succes

1612139108 327 Cum sa implementati o aplicatie nod si o baza de
  • Faceți clic pe fila de implementare și derulați până la Metoda de implementare secțiune
1612139108 720 Cum sa implementati o aplicatie nod si o baza de
  • Apasă pe Conectați-vă la GitHub buton
1612139108 765 Cum sa implementati o aplicatie nod si o baza de
  • Acum aveți Conectați-vă la secțiunea GitHub, căutați depozitul și implementați.
1612139108 744 Cum sa implementati o aplicatie nod si o baza de
  • Acum aplicația dvs. a fost implementată cu succes
1612139108 631 Cum sa implementati o aplicatie nod si o baza de

Implementări automate

Acum aplicația dvs. este implementată, dar va trebui să continuați să o implementați manual. Trebuie să activați implementările automate pentru o ramură GitHub, astfel încât Heroku construiește și implementează toate apăsările către acea ramură.

  • Derulați la Implementări automate secțiune
1612139108 967 Cum sa implementati o aplicatie nod si o baza de

Selectați ramura pe care doriți să o implementați. În mod ideal, acesta ar trebui să fie master filiala, dar schimbați acest lucru în funcție de preferințele dvs.

Acum fiecare împingere către master (sau sucursala pe care ați ales-o) va implementa o nouă versiune a acestei aplicații.

1612139109 436 Cum sa implementati o aplicatie nod si o baza de

Node.js Buildpack

În Heroku, Buildpacks sunt scripturi care se execută atunci când aplicația dvs. este implementată. Acestea sunt utilizate pentru a instala dependențe pentru aplicația dvs. și pentru a vă configura mediul.

După implementarea aplicației, asigurați-vă că adăugați un buildpack Node.js la proiect.

  • Mergi la Setări și derulați la Secțiunea Buildpack
1612139109 451 Cum sa implementati o aplicatie nod si o baza de
  • Apasă pe Adăugați Buildpack și selectați Node.js în modul Popup.
1612139109 177 Cum sa implementati o aplicatie nod si o baza de
  • Acum, noua configurație buildpack va fi utilizată la următoarea implementare a acestei aplicații. Aduceți câteva modificări aplicației dvs. și apăsați pe GitHub – se va implementa automat.

Adăugarea unei baze de date în aplicația dvs. implementată ‘

Piața suplimentară Heroku are un număr mare de magazine de date, de la furnizorii Redis și MongoDB, la Postgres și MySQL.

Heroku oferă trei servicii de date gestionate tuturor clienților sub formă de programe de completare:

Scrierea despre aceste trei va face acest articol prea lung. Este destul de simplu și voi adăuga câteva linkuri către documentele Heroku.


Concluzie

Fiecărui cont Heroku i se alocă un grup de ore de dyno gratuite. Dino-urile Heroku (gratuite) sunt excelente pentru găzduirea de aplicații și proiecte personale. Dezavantajul este că aplicația dvs. va adormi dacă nu primește trafic web în 30 de minute :(.

Puteți utiliza instrumente externe pentru a face ping periodic pe server, astfel încât acesta să nu adoarmă niciodată.

Iată câteva de luat în considerare:


Heroku este proiectat meticulos pentru a ajuta dezvoltatorii să fie cât mai productivi posibil. Platforma elimină obstacolele frustrante și sarcinile banale, astfel încât să puteți rămâne liber de distragere în fluxul de dezvoltare. Oriunde te afli pe calea învățării, Heroku te ajută să iubești și mai mult dezvoltarea aplicațiilor. – Heroku

Experiența Heroku oferă servicii, instrumente, fluxuri de lucru și suport pentru poliglote – toate concepute pentru a spori productivitatea dezvoltatorilor. Utilizarea Heroku este mai multă și sper să explorați mai mult și să construiți lucruri uimitoare cu Heroku.

Dacă sunteți student, vă rugăm să vă înregistrați la GitHub Student Developer Pack pentru a primi unul gratuit Hobby Dyno timp de până la doi ani.

Pachetul oferă studenților acces gratuit la cele mai bune instrumente pentru dezvoltatori într-un singur loc, astfel încât să puteți învăța făcând.