Deployment

Heroku es un servicio que nos permite publicar nuestras aplicaciones en Internet sin necesidad de preocuparnos por configurar servidores, instalar Ruby on Rails, configurar la base de datos, etc.

Heroku tiene un plan gratuito que, aunque tiene algunas limitaciones, es más que suficiente para empezar. También existen planes pagos para aplicaciones en producción que necesiten más procesamiento y/o memoria; puedes consultar los precios en esta página.

Si aún no tienes una cuenta en Heroku, ingresa a la página principal y crea una.

Heroku CLI

Una vez que tengas una cuenta en Heroku debes descargar el Heroku CLI, una aplicación para la línea de comandos que te permitirá interactuar con Heroku. En este enlace encontrarás las instrucciones para descargarla e instalarla.

Una vez que la hayas instalado verifica la instalación ejecutando el siguiente comando:

$ heroku --version

Deberías ver heroku/x.y.z en el resultado.

Por último ejecuta el siguiente comando para autenticarte:

$ heroku login

Ingresa el email y contraseña que utilizaste para crear tu cuenta en Heroku.

Creando la aplicación

Vamos a crear una aplicación desde cero que desplegaremos en Heroku. El primer paso es crear una carpeta vacía:

$ mkdir superapp
$ cd superapp

El siguiente paso es agregar Express.js:

$ yarn add express

Ahora crea un archivo index.js con el siguiente contenido:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000
app.get('/', (req, res) => {
res.send('<h1>Mi primera aplicación en Heroku</h1>');
});
app.listen(PORT, () => console.log(`Listening on port ${ PORT }!`));

Crea un archivo llamado Procfile con el siguiente contenido:

web: node index.js

Crea un archivo llamado .gitignore con el siguiente contenido:

node_modules

Por último crea el repositorio y haz commit ejecutando los siguientes comandos:

$ git init
$ git add .
$ git commit -m 'Prepare app for Heroku deployment'

Desplegando la aplicación

Para desplegar la aplicación primero debes crear la aplicación en Heroku ejecutando el siguiente comando:

$ heroku create

Y desplegarla con el siguiente comando:

$ git push heroku master

Este proceso toma algún tiempo, pero lo importante es que al final salga algo parecido a lo siguiente:

remote: Verifying deploy... done.
To https://git.heroku.com/un-nombre-extrano.git
* [new branch] master -> master

Por último ejecuta el siguiente comando para visitar tu aplicación:

$ heroku open