Heroku

De Cacauet Wiki
Salta a la navegació Salta a la cerca


Introducció

Heroku és una PaaS (Platform as a Service) que ens permet fer desplegaments sense necessitat de tenir un servidor.

Servidors d'aplicacions web


Primeres passes

Inicia't amb aquest tutorial per PHP simple:

https://devcenter.heroku.com/articles/getting-started-with-php#introduction

Quan hagis acabat, tindràs en marxa una web d'exemple. Fes un cop d'ull al Procfile, veuràs que la carpeta web/ és on s'inicia la nostra aplicació web.

Substitueix els continguts de la carpeta web/ per un index.php senzill per començar a fer la nostra app.


Plugins i bases de dades

Un cop hem estat capaços de crear una web, crearem una base de dades. Aparentment podem crear una MySQL gratuita, però ens demana la targeta de crèdit. En canvi, amb PostgreSQL no ens en demana.

Teniu la Documentació oficial de PostgreSQL per a Heroku on explica com posar a punt la BD.

Crearem una base de dades PostgreSQL als Add-ons (via web o via comandes CLI). Podràs veure les credencials de la BBDD per utilitzar-ho en el PDO després.

Crea una pàgina PHP d'una TASKLIST amb PostgreSQL. Ha de quedar més o menys com aquesta:

https://floating-beyond-40727.herokuapp.com

Post utilitzar aquest exemple de PDO:

https://uf.ctrl-alt-d.net/material/mostra/50/php-acces-a-dades-amb-pdo

Caldrà que creis la taula, un formulari per entrar les tasks, i visualitzar-les.

Accedint a la shell del PostgreSQL

Normalment, i si no tenim algun proxy o tallafocs intermig, ens podem connectar des de la shell LOCAL amb:

$ heroku pg:psql

Però si tenim algun d'aquests casos de proxy/tallafocs, podem fer un hack:

  1. Ens loguem a la web de Heroku
  2. Entrem a la nostra aplicació -> More... -> Run console
  3. Executem "bash"
  4. Dintre de la consola web, executem:
    $ psql $DATABASE_URL
    Podria ser que enlloc de $DATABASE_URL la variable fos $HEROKU_POSTGRESQL_WHITE_URL
    Per examinar totes les variables d'entorn pots executar "env" a la shell


Mireu-vos l'article PostgreSQL per iniciar-vos a com utilitzar aquesta BDD en local. Així podreu treballar amb més agilitat per després posar el projecte en producció en Heroku.


Heroku amb frameworks