Deploy di una webapp rails sul piano gratuito dell'hosting Heroku

Ok, avete fatto una webapp con Ruby on Rails, funziona e volete farla vedere al mondo che fare?

Il vostro hosting economico o gratuito supporta solo php, mentre quello che supporta ruby è più costoso oppure pensate che non sia ancora un investimento giustificato.
Niente paura, si può fare ed é gratis. L'hosting che lo permette è Heroku e si tratta di un sistema Iaas (Infrastructure As A Service), cioé a differenza di un hosting classico non vi é accesso al File System o ssh, ma si interagisce solamente tramite gli strumenti di deploy messi a disposizione (Git e Console Heroku). Ad ogni modo l'infrastruttura reale che c'é dietro è un database Posgresql e Thin come webserver.

Configurazione e primo Upload

Si presume che abbiate un progetto Rails 3 nella cartella "myapp" e che facciate uso del db di default SQLite. I passaggi che seguiranno sono in parte simili alla configurazione classica di deploy su hosting shared (es Dreamhost), ma vengono aggiunti dei tool specifici per monitorare l'applicazione su Heroku. In ogni caso questa configurazione non pregiudica la possibilità di portare su un'altro hosting in futuro la nostra webapp.

sudo gem install heroku
heroku create myapp # <-- questo è un nome pubblico, siate originali :P
cd myapp/ # <-- la vostra applicazione di test funzionante
git init && git add . && git commit -m "il mio primo commit"
git remote add heroku git@heroku.com:myapp.git
git push heroku master
heroku rake db:migrate # <-- aggiorna lo schema del db in remoto

A questo punto la vostra applicazione dovrebbe essere installata e funzionante su http://myapp.heroku.com

Quando apporterete nuove modifiche al codice potete sincronizzare con la versione in produzione attraverso i classici git commit e push

Debug e manutenzione

Per sapere che tutto stia andando per il meglio, per fare il dump del database o per scoprire cosa si cela dietro un inaspettato Error 500, potete usare la console di Heroku.

heroku logs

Per tutte le altre funzionalità o per rimuovere un'applicazione fate riferimento al pannello web. NB: il piano gratuito di chiama Blossom e ha un limite di 5MB di database