La seguente guida ha lo scopo di aiutarvi a fare il deploy su heroku delle vostre api.
!! Per svolgere correttamente il progetto NON è necessario fare il deploy delle api su heroku. Ad ogni modo soprattuto per la vostra comodità e per facilitare il lavoro a distanza è altamente consigliato.
La Guida è pensata per l'utilizzo in un ambiente UNIX la maggior parte delle operazioni dovrebbero funzionare comunque su una macchina windows correttamente configurata. Nelle risorse linkate sono disponibili tutti i software anche per windows.
Ricordate che Google è vostro amico!
https://progetto-awc-antongiacomo.herokuapp.com/
- un account heroku
è necessario che sulla vostra macchina siano installati i seguenti comandi:
assicuratevi di avere installato ogni comando provando ad eseguire lo stesso
ES:
bash-3.2$:git
usage: git [--version] [--help] [-C <path>] [-c <name>=<value>]
[--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
[-p | --paginate | -P | --no-pager] [--no-replace-objects] [--bare]
[--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
<command> [<args>]
These are common Git commands used in various situations:
start a working area (see also: git help tutorial)
clone Clone a repository into a new directory
init Create an empty Git repository or reinitialize an existing one
.
.
.
- Postman - utile per testare le vostri API
prima di creare la vostra app su heroku, assicuratevi di aver eseguito:
heroku login
a questo punto passiamo alla creazione vera e propria:
heroku create
questo comando genererà una nuova app con un nome arbitrario scelto da heroku, se volete personalizzare il nome della vostra app:
heroku create < nome app >
!! Il nome deve essere univoco per ciascuna app ad esempio "casa" non andrebbe bene "progetto awc nome cognome" è una scelta più ragionevole
in output otterrete qualcosa del genere
Creating progetto-awc-antongiacomo... done
https://progetto-awc-antongiacomo.herokuapp.com/ | https://git.heroku.com/progetto-awc-antongiacomo.git
prendete nota dell'url git ovvero, in questo caso: https://git.heroku.com/progetto-awc-antongiacomo.git
Maggiori informazioni su questa parte qui:
Innanzitutto recatevi con il terminale in una cartella in cui avete regolari permessi di scrittura (e.g. la vostra home o il vostro desktop). Poi:
git clone <url>
l'url ovviamente è quella che abbiamo ottenuto nella fase precedente durante la creazione dell'app
ES:
git clone https://git.heroku.com/progetto-awc-antongiacomo.git
controllate la corretta inizializzazione lanciando il comando
git status
che dovrebbe darvi in output qualcosa del genere:
On branch master
No commits yet
Untracked files:
(use "git add <file>..." to include in what will be committed)
file.js
nothing added to commit but untracked files present (use "git add" to track)
create un file chiamato Procfile
con all'interno il seguente contenuto:
web: node app.js
!! Fate attenzione che la prima lettera del file sia maiuscola è molto importante !! Se l'avete creato con la lettere minuscola potrebbe non bastare un semplice commit in quel caso
- spostatelo fuori dalla cartella
- date
git add .
- committate
- copiate il file con la lettera maiuscola dentro la cartella
- date
git add .
- committate
- pushate
Il procfile serve ad istruire heroku su come trattare il vostro codice. Il tipo di processo web
dice ad Heroku di far partire la vostra applicazione web lanciando node app.js
.
!! ovviamente dovrete sostituire ad
app.js
il nome della vostra applcazione web.
aggiungete i vostri file all'index
git add .
oppure
git add <nome file>
!! Ogni modifica ai file richiederà che essi vengano aggiunti all'index con il comando precente.
Lo stesso vale per i nuovi file
vi consiglio di fare un
git add .
prima di ogni commit -> push
committate e pushate
git commit -m "aggiunta una nuova emozionante feature"
git push heroku master
maggiori informazioni su questa parte, qui:
https://devcenter.heroku.com/articles/git#creating-a-heroku-remote
Postman vi sarà utile utile per testare le vostri API. Per utilizzarlo con il codice fornito vi consiglio impostazioni simili a queste