Paso 12: Desplegar en la nube de Heroku
Ahora que inicio alerta está trabajando en el desarrollo, vamos a conseguir trabajo en la nube. Existen infinidad de opciones para implementar aplicaciones web. Basado en el alcance y la complejidad de inicio alerta, decidí que configurar mi propio servidor privado virtual no es vale la pena el esfuerzo. En cambio, es mejor ir a un servicio como Heroku, un host de la aplicación. Para mi la escala, nivel libre de Heroku es más que suficiente. Incluso para el componente de Redis, pude elegir un plan libre de uno de los muchos proveedores de Redis que trabajan con Heroku.
Aún así, hay un poco de esfuerzo, que tiene que ver con que mi aplicación ligeramente modificado para que puedan cumplir con las especificaciones de Heroku. Los detalles están aquí, pero esencialmente usted necesitará agregar estos archivos a su proyecto de Sinatra (todos los archivos que pueden descargarse desde mi cuenta de Github):
archivo config.ru: cuenta Heroku que archivo contiene la aplicación. Aquí es el contenido:
requieren '. / web'
ejecutar Sinatra::Application
Los primeros puntos de la línea a web.rby la segunda línea realmente ejecuta su aplicación.
Gemfile: contiene las gemas (paquetes de código ruby) que son requeridas por la aplicación. Heroku se verá dentro de este archivo para averiguar qué código es necesario instalar para que funcione la aplicación. Otra manera de mirar Gemfile es que contiene una lista de dependencias para su proyecto. Si cualquiera de estas dependencias no están disponible, la aplicación no funcionará. Esto es lo que está dentro el Gemfile para esta aplicación:
fuente "https://rubygems.org"
Ruby "2.1.1"
Gem 'sinatra'
Gem 'puma'
Gem 'redis'
En primer lugar, establece el repositorio de origen de toda joya código rubygems.org. A continuación, requiere que la versión Ruby 2.1.1 se utiliza para ejecutar la aplicación. A continuación es una lista de las gemas necesarias: Sinatra, Puma (un servidor de aplicaciones web Ruby gran) y Redis.
Procfile: cuenta Heroku cómo arranque el servidor. Hay solamente una línea aquí:
Web: puma de rackup -s -p $PORT
Esta línea dice que la "web" es el único tipo de servicio requerido (usted podría tener otros, como «trabajador», para el procesamiento en segundo plano), y que iniciar el servicio Heroku debe utilizan el comando que viene después de la ":".
Se puede simular lo que va a hacer siguiendo esta secuencia en tu máquina de desarrollo Heroku (sólo el ensayo antes de la flecha del tipo, lo que sigue la flecha es sólo una descripción del comando):
$> gem install bundler — > instala Bundler, que sabe cómo manejar el Gemfile.
$> instalar paquete — > empacadora procesa Gemfile e instala las dependencias.
$> archivo config.ru rackup — > Rackup es una herramienta que puede procesar el archivo de archivo config.ru. Normalmente viene con la última versión de Ruby, si no es ' instalar este: gem install rack.
El último paso resulta en realidad iniciar su aplicación. Debería ver la exacta misma salida que usted comenzó con ruby web.rb antes. Es la misma aplicación corriendo, solo con la diferencia que el segundo método es cómo pone de Heroku.
Estamos casi listos para desplegar esta aplicación en tu cuenta de Heroku. Si no tienes uno aún, seguir adelante y crear uno ahora. Siga la Guía de inicio rápido para configurar tu cuenta y tu máquina de desarrollo local y especialmente la Heroku Toolbelt.
La Heroku Toolbelt instala al cliente de línea de comandos Heroku, Git (el código abierto fuente código sistema de gestión) y Foreman (herramienta Ruby que ayuda a administrar aplicaciones Procfile).
Terminada la instalación de la Heroku Toolbelt siguiendo las instrucciones en el sitio web de Heroku, siga estos pasos para obtener la aplicación desplegada (todo se escribe en la línea de comando dentro del directorio de la aplicación):
$> Inicio de sesión de heroku — > Inicio de sesión en Heroku mediante la línea de comandos
$> git init — > inicializar un repositorio Git para su aplicación
$> Añadir git. — > (notar el punto!) Agregar todos los archivos en el directorio actual al repositorio Git
$> git commit -m "init" — > cometer estos archivos en el repositorio, con un nuevo mensaje
$> crear heroku — > crear una nueva aplicación en Heroku. Heroku dará a tu aplicación un nombre aleatorio, algo así como "ardiente-galaxia-997". Anote el nombre y la URL para que pueda acceder mediante el navegador web más adelante. Este enlace se verá así: "http://blazing-galaxy-997.herokuapp.com/". Usted también necesitará copiar el nombre del host (la parte de "blazing-galaxia-997.herokuapp.com") de su nueva aplicación en la constante de la Página Web de su sketch de Arduino. Hacer esto para que no se olvide más adelante.
$> addons heroku: agregar rediscloud -> agrega el nivel libre del servicio Rediscloud Redis a su aplicación. Parámetros de configuración automáticamente se crean y a disposición de su aplicación.
$> maestro de heroku git push — > desplegar su código en Heroku. Esto automáticamente el código de transferencia, configurar dependencias en Heroku e iniciar la aplicación. Al final del proceso, se verá algo como esto: "http://blazing-galaxy-997.herokuapp.com a Heroku", que significa que la aplicación está ahora en vivo en la nube pública. ¡ Felicidades!
Adelante, darle un giro!