Ruby: Desplegar en producción

Cómo desplegar tu código Ruby en producción en minutos

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Ruby cloud lista para usar que proporciona una serie de beneficios, incluyendo:

  • Despliegue su aplicación en segundos con un simple git push.
  • Use su propio nombre de dominio y benefíciese de la configuración automática de certificados HTTPS para una mayor seguridad.
  • Disfrute de la tranquilidad con copias de seguridad automáticas, actualizaciones con un clic, y precios sencillos, transparentes y predecibles.
  • Obtenga un rendimiento óptimo y una seguridad robusta gracias a una VM privada y dedicada.

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

El servicio de alojamiento en la nube Ruby de Stackhero ofrece una forma potente y fácil de usar para desplegar tus proyectos Ruby en producción en solo unos minutos.

Las características clave incluyen:

  • Despliegue con un simple git push.
  • Dominio personalizable con gestión automática de certificados TLS (HTTPS).
  • Ejecución en una VM dedicada y privada para máxima seguridad y confidencialidad.
  • Soporte para HTTP/2, TLS 1.3 (HTTPS), WebSockets, compresión GZIP y Brotli, ETag, acceso a puertos TCP y UDP, y más.

Para desplegar tus proyectos en Stackhero, el único requisito es tener Git instalado en tu ordenador.

Para ahorrar tiempo y evitar configuraciones complejas, especialmente si tu entorno de desarrollo no está listo, considera usar Code-Hero de Stackhero.

Code-Hero es una plataforma de desarrollo potente, fácil de usar y lista para usar, accesible directamente a través de tu navegador en cualquier ordenador, tableta o teléfono. Está basada en un fork de VSCode e incluye todas las herramientas esenciales para el desarrollo, preinstaladas y preconfiguradas, permitiéndote comenzar a programar instantáneamente sin complicaciones.

<!-- ![Ejemplo de una instancia de Code-Hero ejecutándose directamente en el navegador](/images/docs/ruby/040_deploy/rubyInCodeHero.png) -->

Desplegar tu aplicación Ruby en Stackhero es sencillo. Puedes seguir estos pasos, cada uno de los cuales se detalla más adelante en esta guía:

  1. Crea un servicio Ruby en Stackhero.
  2. Añade tu clave pública SSH a la configuración de tu servicio Ruby.
  3. Configura el comando git push en tu plataforma de desarrollo.
  4. Añade un Makefile a tu proyecto.
  5. Despliega tu código en producción.

Si encuentras algún problema durante el despliegue, la documentación de "Solución de problemas" probablemente proporcionará una solución. Asegúrate de consultar esta guía ya que puede ahorrarte tiempo y evitar frustraciones innecesarias.

Si aún no has iniciado un servicio Stackhero for Ruby, puedes crear uno en tu panel de control de Stackhero. Solo toma 2 minutos.

Una vez que tu servicio Ruby haya comenzado, necesitas configurarlo añadiendo tu clave pública SSH. Puedes localizar tu clave pública ejecutando el comando:

cat ~/.ssh/id_*.pub

¿Aún no tienes claves SSH?

Puedes crearlas usando:

ssh-keygen -t ed25519

Para configurar tu servicio Ruby, navega al panel de control de Stackhero, selecciona tu servicio Ruby, haz clic en el botón "Configurar" y pega el contenido de tu clave pública en la sección "Claves públicas SSH".

<!-- ![Ejemplo de configuración de un servicio Ruby](/images/docs/ruby/040_deploy/rubyStackheroPublicKey.png) -->

Consejo: Puedes establecer tu clave pública SSH globalmente para que los futuros servicios la incluyan automáticamente en su configuración.

Para hacerlo, navega al panel de control de Stackhero, haz clic en tu foto de perfil en la esquina superior derecha, selecciona "Tu perfil" y añade tu clave pública SSH.

El despliegue en Stackhero se realiza usando la CLI de Git con el comando git push. Este enfoque hace que los despliegues sean simples, rápidos y confiables sin requerir herramientas adicionales en tu ordenador.

Para habilitar esta función, copia y pega el valor del comando git remote desde la página principal de tu servicio en el panel de control de Stackhero. El comando generalmente se ve así:

git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
<!-- ![Comando Git remote Ruby en el panel de control de Stackhero](/images/docs/ruby/040_deploy/rubyStackheroGitRemote.png) -->

Para desplegar tu código en Stackhero, necesitas especificar los comandos para tu aplicación creando un Makefile. Este archivo actúa como un puente entre Stackhero y tu aplicación.

Si no estás familiarizado con los Makefiles y el comando make, no te preocupes. Las instrucciones a continuación te guiarán a través del proceso.

Crea un Makefile en la raíz de tu proyecto y añade el siguiente contenido:

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

Este Makefile contiene tres componentes importantes:

  1. La regla run, que es obligatoria ya que es ejecutada automáticamente por Stackhero. No la renombres porque sirve como punto de entrada para tu despliegue.
  2. Los comandos ejecutados usando rake y bundle. Puedes reemplazarlos con los comandos apropiados para tu aplicación si es necesario.
  3. Cada comando debe estar precedido por un carácter de tabulación en lugar de espacios. Si ves un error como "*** missing separator", verifica que se use un carácter de tabulación.

En este ejemplo, se ejecutan tres comandos durante el despliegue:

  1. Los assets como JavaScript y CSS se precompilan en el directorio public/assets.
  2. Las migraciones de base de datos se ejecutan si es necesario.
  3. Un servidor Puma se inicia para servir tu aplicación.

¡Ahora estás listo para desplegar tu aplicación Ruby! Para desplegar tu código en Stackhero, ejecuta el siguiente comando:

git push stackhero main

La primera vez que ejecutes este comando, se te pedirá que añadas la huella digital de la clave SSH. Responde "yes" para continuar.

Después de unos segundos, tu aplicación estará en línea.

<!-- ![Ejemplo de despliegue de código Ruby en Stackhero usando el comando `git push`](/images/docs/ruby/040_deploy/rubyDeployGitPush.png) -->

Para verificar tu aplicación desplegada, navega a la URL del sitio proporcionada en el panel de control de Stackhero. Generalmente se ve como https://XXXXX.stackhero-network.com.

¡Felicidades, tu aplicación ahora está desplegada en producción!

¿Encuentras problemas durante el despliegue?

Consulta la sección Solución de problemas, donde probablemente encontrarás una solución.

Esta guía ha proporcionado una visión general completa y sencilla sobre cómo desplegar código Ruby en producción usando Stackhero. Proporciona una base sólida para gestionar eficazmente tus despliegues de aplicaciones.

Para ampliar tus conocimientos, considera explorar la documentación "Usos avanzados del despliegue". Aquí aprenderás cómo desplegar varias ramas de git, etiquetas o commits específicos, y gestionar múltiples entornos como staging y producción. También descubrirás consejos sobre cómo trabajar con variables de entorno y más.

Si enfrentas algún problema durante el proceso de despliegue, la documentación "Solución de problemas" es un recurso invaluable que puede ayudarte a resolver problemas de manera eficiente y minimizar la frustración.