Este post fue publicado originalmente en noviembre de 2016.
A continuación veremos como desplegar nuestra aplicación Meteor en 6 sencillos pasos. Los servicios que usaremos para ello son:
Heroku, una plataforma como servicio (PaaS) que permite crear, ejecutar y escalar aplicaciones web, su medio principal para el despliegue es git.
mLab, una plataforma de base de datos como servicio (DBaaS) para alojar y gestionar bases de datos MongoDB, actualmente ofrece alojamiento en AWS, Azure y Google.
0. Requisitos para empezar
- Registrarnos en mLab.
- Registrarnos en Heroku.
- Instalar Heroku CLI.
1. Crear la Base de datos
Creamos una base de datos Mongo con el proveedor y plan que más se adapte a nuestras necesidades.
En el apartado Single-node el plan Sandbox es gratuito y ofrece 0.5Gb aunque no se aconseja para producción.
Asignamos un nombre a la base de datos, pulsamos en Create new MongoDB deployment y una vez creada entramos en ella.
Para terminar hacemos click en la pestaña Users, creamos un nuevo usuario y listo.
En la parte superior podemos ver nuestra MongoDB URI, que será la que usaremos más adelante y que tiene un aspecto parecido a lo siguiente:
mongodb://<dbuser>:<dbpassword>@ds<012345>.mlab.com:<12345>/<dbname>
2. Autenticarse con Heroku CLI
Desde la terminal nos identificamos con nuestras credenciales usando el siguiente comando:
$ heroku login
3. Crear la app en Heroku
Nos situamos en nuestro proyecto git y creamos la aplicación en Heroku indicando el nombre que deseamos.
Además podemos definir el nombre con el que vamos a referirnos a nuestro repositorio remoto y la región donde queremos alojar nuestra aplicación (por defecto son heroku y us respectivamente).
$ cd <my-git-project>
$ heroku apps:create <app-name> --remote <remote-name> --region <us|eu>
4. Aplicar un buildpack
El buildpack preparará nuestra aplicación Meteor para ser ejecutada por Heroku.
En este ejemplo vamos a utilizar el genial meteor-buildpack-horse.
$ heroku buildpacks:set https://github.com/AdmitHub/meteor-buildpack-horse.git
5. Configurar las variables de nuestra aplicación
# Variable para la URL
$ heroku config:set ROOT_URL="https://<app-name>.herokuapp.com"
# Variable para enlazar a nuestra Base de datos (MongoDB URI)
$ heroku config:set MONGO_URL="<mlab-uri>"
# Settings de Meteor (suponiendo que están en settings.json)
$ heroku config:set METEOR_SETTINGS="$(cat settings.json)"
6. Desplegar
Una vez tenemos todo configurado lo último que tenemos que hacer es un git push a la rama master de nuestro repositorio remoto en Heroku.
$ git push <remote-name> master
Bonus
Para terminar os dejo algunas anotaciones que os pueden ser de utilidad…
*Trabajar en equipo
Para que el resto del equipo de desarrollo pueda desplegar sus cambios tan solo tienen que añadir el repositorio remoto a su proyecto git usando:
$ heroku git:remote -a <app-name> -r <remote-name>
*Mostrar el log
Si queremos ver el log de nuestra aplicación tan solo tenemos que ejecutar:
$ heroku logs
*Integrar add-ons
Podemos agregar herramientas y servicios desde la terminal con el siguiente comando:
$ heroku addons:create <proveedor:plan>
*Desplegar una rama distinta de master
Lo haremos de la misma manera que haríamos con git:
$ git push <remote-name> <local-branch>:master
*Trabajar con varias instancias de Heroku
Si tenemos varios repositorios remotos de Heroku en un mismo proyecto para ejecutar algunos comandos tendremos que especificar la aplicación, por ejemplo:
# Development
$ heroku config:add METEOR_SETTINGS="$(cat settings-development.json)" --app <dev-app-name>
# Production
$ heroku config:add METEOR_SETTINGS="$(cat settings-production.json)" --app <prod-app-name>
Top comments (0)