Ruby: Creación de un Makefile para el despliegue en Stackhero

Esta documentación forma parte de la guía Despliegue en producción. Consulte la guía completa aquí: Despliegue código Ruby en producción en minutos con Stackhero.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Ruby cloud lista para usar que proporciona numerosas ventajas, entre ellas:

  • Despliegue su aplicación en segundos con un simple git push.
  • Utilice su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
  • Disfrute de copias de seguridad automáticas, actualizaciones con un solo clic y una tarifa sencilla, transparente y predecible.
  • Obtenga un rendimiento óptimo y una seguridad robusta gracias a una infraestructura privada y dedicada.

Ahorre tiempo y simplifique su vida: solo necesita 5 minutos para probar la solución de Ruby cloud hosting de Stackhero.

Para indicar a Stackhero cómo ejecutar su aplicación, añada un archivo Makefile en la raíz de su proyecto. Este archivo define los comandos que Stackhero utilizará durante el despliegue.

Si no está familiarizado con los Makefiles o el comando make, los pasos siguientes le guiarán para crear un Makefile funcional.

Cree un archivo Makefile con el siguiente contenido:

run:
	rake assets:precompile
	rake db:migrate RAILS_ENV=production
	RAILS_ENV=production bundle exec puma -C config/puma.rb

Qué hace este Makefile:

  1. La regla run es obligatoria. Stackhero busca esta regla como punto de entrada durante el despliegue. Mantenga este nombre de regla.
  2. El ejemplo utiliza rake y bundle, pero puede adaptar estos comandos según su aplicación.
  3. Cada línea de comando debe comenzar con un carácter de tabulación, no espacios. Si ve un error *** missing separator, compruebe que está usando tabulaciones.

En el ejemplo anterior, el despliegue:

  1. Precompilará los assets como JavaScript y CSS en el directorio public/assets.
  2. Ejecutará las migraciones de base de datos.
  3. Iniciará el servidor Puma para servir su aplicación.