Como subir nuestra aplicación Node a Heroku

Introducción

Heroku es un servicio en la nube tipo PaaS(plataforma como servicio) en donde podemos alojar y desplegar nuestras aplicaciones.

Con Heroku podemos agilizar el proceso de publicar nuestras aplicaciones sin tener que preocuparnos demasiado en configurar nuestros propios servidores.

A continuación veremos cómo podemos desplegar una aplicación Node en Heroku en cuestión de segundos.

Empezando

Para empezar accederemos a Heroku y crearemos una cuenta gratuita. A primera vista, el dashboard es increíblemente simple y fácil de usar. Nos da este una pequeña guía de introducción a Heroku donde podemos encontrar las instrucciones para cada tipo de aplicación que puede implementar.

Herramientas necesarias

Necesitaremos algunas cosas para llevar a cabo la implementación:

Iniciar sesión en Heroku

Esta es la forma en que podemos vincular nuestro escritorio local a Heroku. Nos autenticaremos desde la línea de comandos para que Heroku sepa que estamos autorizados a enviar aplicaciones para su despliegue. Este es un proceso bastante fácil.

Escribiremos la siguiente comanda:

$ heroku login

La consola nos pedirá los datos de nuestra sesión en Heroku.

Desplegando nuestra aplicación

Este es un proceso muy simple. Desde el directorio de nuestro repositorio git, ejecutaremos el siguiente comando:

$ heroku create

Una vez creada la aplicación Heroku ya podremos subir nuestra aplicación Node a Heroku. Para hacerlo ejecutaremos el siguiente comando:

$ git push heroku master

Con esto ya tendremos nuestra aplicación Node en Heroku. Pero antes de comprobar que funciona debemos configurar un par de cosas ya que nuestra aplicación Node utiliza una base de datos MongoDB alojada en mLab y para poder utilizarla deberemos configurar las variables de entorno de Heroku para permitirle el acceso a esta.

Ejecutaremos los siguientes comando:

$ heroku config:set NODE_ENV=production
$ heroku config:set DB_URI=mongodb://<db_user>:<db_password>@ds045715.mlab.com:45715/<db_name>

La primera variable de entorno la utilizamos para definir que nuestra aplicación esta en producción y que utilizará un puerto y una base de datos diferente a la que utilizamos en desarrollo. Y con la segunda le definimos la URL de nuestra base de datos. Toda esta lógica la controlamos con el siguiente trocito de código que tenemos definido en nuestra aplicación Node.

index.js

Errores habituales

Un error que nos puede dar Heroku habitualmente es a la hora de cargar algún archivo que requerimos en nuestra aplicación (models, routes, etc). Mac OS X es insensible a mayúsculas y minúsculas (pero consciente), mientras que Heroku está basado en Linux y distingue entre mayúsculas y minúsculas. Esto nos puede dar muchos dolores de cabeza así que una buena practica es poner el nombre de los archivos y/o carpetas en minúscula o utilizar la nomenclatura CamelCase y evitar en lo possible utilizar nombres que empiecen por letra mayúscula.

Testeando nuestra aplicación

Una buena manera de testear nuestra aplicación en Heroku es ejecutar el terminal de Heroku. Aquí podemos ver la estructura de carpetas que nos a creado Heroku y comprobar si hay algún problema con los nombres o ver si se han subido todos los archivos de nuestra aplicación.

$ heroku run bash
~ $ ls -l
total 28
-rw------- 1 u50192 dyno 403 May 28 11:05 bower.json
drwx------ 5 u50192 dyno 4096 May 28 11:05 client
-rw------- 1 u50192 dyno 385 May 28 11:05 index.js
drwx------ 131 u50192 dyno 4096 May 28 11:05 node_modules
-rw------- 1 u50192 dyno 645 May 28 11:05 package.json
-rw------- 1 u50192 dyno 1193 May 28 11:05 readme.md
drwx------ 6 u50192 dyno 4096 May 28 11:05 server
~ $ exit
exit

Si hemos obtenido algún error a la hora de desplegar nuestra aplicación podemos ver los logs de Heroku ejecutando el siguiente comando:

$ heroku logs

Ver nuestra aplicación en el navegador

Ya estamos en la parte que hemos querido todo este tiempo, tener nuestra aplicación Node subida en Heroku.

Si recuerdas el nombre aleatorio que Heroku generó para ti, o cambiaste el nombre de la aplicación, abre el navegador y accede con la URL:

https://marioterron-todo-list-app.herokuapp.com/

Si no lo recuerdas hay un acceso directo para abrir en el navegador apuntando a tu aplicación mediante la línea de comandos:

$ heroku open

Conclusión

Ahora podemos utilizar fácilmente un repositorio git para desplegar nuestra aplicación en Heroku para que todo el mundo vea.

Son muchos los comandos y funcionalidades de los que dispone Heroku pero de momento no los vamos a utilizar. No dudéis en dejar un comentario si tenéis alguna duda o simplemente queréis dejar vuestra opinión.

Happy Coding!

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.