
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 enmLab.
- Registrarnos enHeroku.
- InstalarHeroku 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 esgratuito y ofrece 0.5Gb aunque no se aconseja para producción.
Asignamos un nombre a la base de datos, pulsamos enCreate new MongoDB deployment y una vez creada entramos en ella.
Para terminar hacemos click en la pestañaUsers, creamos un nuevo usuario y listo.
En la parte superior podemos ver nuestraMongoDB 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 sonheroku yus 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 genialmeteor-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:setROOT_URL="https://<app-name>.herokuapp.com"# Variable para enlazar a nuestra Base de datos (MongoDB URI)$heroku config:setMONGO_URL="<mlab-uri>"# Settings de Meteor (suponiendo que están en settings.json)$heroku config:setMETEOR_SETTINGS="$(catsettings.json)"
6. Desplegar
Una vez tenemos todo configurado lo último que tenemos que hacer es ungit 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 agregarherramientas 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:addMETEOR_SETTINGS="$(catsettings-development.json)"--app <dev-app-name># Production$heroku config:addMETEOR_SETTINGS="$(catsettings-production.json)"--app <prod-app-name>
Top comments(0)
For further actions, you may consider blocking this person and/orreporting abuse