Desplegando aplicaciones Node JS en Heroku

Una de las maneras más rápidas de probar algún proyecto personal o académico en un entorno lo más parecido al de producción es usar Heroku. Sin embargo, puede llegar a ser complicado memorizar la secuencia de comandos (y sus variaciones) que permiten desplegar y correr una app en sus servidores (tanto gratuitos como premium).

Personalmente, me parecía casi imposible encontrar unas indicaciones que realmente empezaran desde cero. Por eso he decidido realizar esta especie de cheatsheet o chuleta con los pasos a seguir desde que se tiene la app terminada y lista para desplegar (incluso sin repositorio git inicializado) hasta que está online.

Preparando las herramientas

Para seguir los pasos se suponen instalados y configurados los siguientes:

  • Una app NodeJS, NodeJS y npm (Node Package Manager)
  • Heroku Toolbelt
  • Git Bash

Inicializando repositorio git

Para poder desplegar en Heroku, primero es necesario alojar nuestro proyecto en un repositorio git, desde el que poder mantenerlo y actualizarlo.

$ git init

Nos conviene introducir un fichero de nombre .gitignore con una sola línea:

node_modules

De esta manera nos ahorraremos los ficheros que se crearán de manera automática en el servidor y aceleramos los procesos de actualización, ya que Git ignorará dichos ficheros que se encuentren en .gitignore.

Finalmente añadimos y realizamos el commit inicial del repositorio que se acaba de crear.

$ git add .

$ git commit -m "initial commit"

Iniciando Heroku

Una vez nuestro código se encuentra en un repositorio git, podemos subirlo a Heroku. Empezaramos iniciando sesión introduciendo nuestro usuario y contraseña mediant el comando:

$ heroku login

Para crear el repositorio remoto en Heroku usaremos:

$ heroku create app-name

Si omitimos app-name se asignará un nombre a nuestra aplicación en Heroku que es posible cambiar más tarde de la siguiente manera.

$ heroku apps:rename new-app-name --app app-name

Desplegando la aplicación

Una vez se han hecho todos los cambios, se puede proceder a desplegar la apliación en Heroku.

$ git push heroku master

Listo. La aplicación debería estar ya corriendo en Heroku en la URL especificada por la consola. Sin embargo, para asegurarnos de que al menos una instancia de la aplicación se está ejecutando, podemos introducir el siguiente comando:

$ heroku ps:scale web=1

Si no se ha especificado concretamente (package.json > scripts > start), podemos indicar a Heroku mediante un fichero Procfile que, en el caso de una aplicación NodeJS como esta deberá contener la siguiente línea:

web: node app-name.js

Tras esto, la aplicación NodeJS que hemos desplegado en Heroku debería ser accesible desdce la URL proporcionada por Heroku.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s