Ruby: Despliegue en producción

Cómo desplegar su 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 le permite desplegar sus proyectos Ruby en producción en solo unos minutos, combinando una plataforma potente con una experiencia de usuario intuitiva.

Esto es lo que obtendrá:

  • Despliegue su código con un simple git push.
  • Utilice su propio dominio personalizado, con gestión automática de certificados TLS (HTTPS).
  • Ejecute su aplicación en una VM dedicada y privada para máxima seguridad y privacidad.
  • Disfrute de soporte para HTTP/2, TLS 1.3 (HTTPS), WebSockets, compresión GZIP y Brotli, ETag, acceso a puertos TCP y UDP, y mucho más.

Lo único que necesita para empezar a desplegar sus proyectos en Stackhero es tener Git instalado en su ordenador.

Si desea ahorrar tiempo o prefiere evitar configurar un entorno local complejo, le recomendamos que eche un vistazo a Code-Hero de Stackhero.

Code-Hero es una plataforma de desarrollo lista para usar a la que puede acceder directamente desde su navegador, en cualquier ordenador, tablet o móvil. Basada en un fork de VSCode, incluye todas las herramientas esenciales preinstaladas y preconfiguradas, para que pueda empezar a programar al instante sin complicaciones de configuración.

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

Desplegar su aplicación Ruby en Stackhero es un proceso sencillo. Estos son los pasos que seguirá, y los explicaremos en detalle a continuación:

  1. Cree un servicio Ruby en Stackhero.
  2. Añada su clave pública SSH a la configuración de su servicio Ruby.
  3. Configure el comando git push en su plataforma de desarrollo.
  4. Añada un Makefile a su proyecto.
  5. Despliegue su código en producción.

Si encuentra algún problema durante el despliegue, la documentación de Solución de problemas puede ayudarle a encontrar una solución rápidamente. Siempre es recomendable consultarla primero para ahorrar tiempo y evitar frustraciones.

Si aún no ha creado un servicio Stackhero for Ruby, puede hacerlo desde su panel de Stackhero en solo un par de minutos.

Una vez que su servicio Ruby esté en funcionamiento, el siguiente paso es añadir su clave pública SSH. Puede encontrar su clave pública ejecutando:

cat ~/.ssh/id_*.pub

¿Aún no tiene claves SSH?

Puede generarlas con:

ssh-keygen -t ed25519

Para añadir su clave SSH, acceda a su panel de Stackhero, seleccione su servicio Ruby, haga clic en "Configurar" y pegue su 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: ¿Quiere ahorrar tiempo en el futuro? Puede añadir su clave pública SSH a su perfil para que se incluya automáticamente en cualquier nuevo servicio que cree.

Simplemente haga clic en su foto de perfil en la esquina superior derecha del panel, seleccione "Su perfil" y añada allí su clave pública SSH.

El despliegue en Stackhero utiliza la CLI de Git y el comando git push, por lo que no necesita instalar herramientas adicionales.

Puede copiar el comando git remote desde la página principal de su servicio en el panel de Stackhero. Normalmente tiene este aspecto:

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

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

Si es la primera vez que utiliza Makefiles o el comando make, no se preocupe, los pasos siguientes le guiarán en todo el proceso.

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

Esto es lo que ocurre en este Makefile:

  1. La regla run es obligatoria; Stackhero la ejecutará automáticamente durante el despliegue. Por favor, mantenga este nombre ya que actúa como punto de entrada.
  2. Los comandos utilizan rake y bundle, pero puede personalizarlos según las necesidades de su aplicación.
  3. Asegúrese de que cada línea de comando comienza con un carácter de tabulación, no con espacios. Si ve un error como *** missing separator, revise este formato.

En el ejemplo anterior, el despliegue hará lo siguiente:

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

Ya está listo. Para desplegar su código en Stackhero, utilice:

git push stackhero main

La primera vez que ejecute este comando, se le pedirá que confirme la huella digital de la clave SSH. Simplemente responda "yes" para continuar.

Tras una breve espera, su aplicación estará disponible en línea.

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

Puede acceder a su aplicación desplegada en la URL que aparece en su panel de Stackhero. Normalmente tendrá un formato como https://<XXXXXX>.stackhero-network.com.

Enhorabuena. Su aplicación ya está en producción.

¿Tiene problemas con el despliegue?

No olvide consultar la sección de Solución de problemas para soluciones rápidas.

Acaba de aprender cómo desplegar código Ruby en producción utilizando Stackhero, con un proceso tan sencillo como potente.

Si desea profundizar más, la documentación de Usos avanzados del despliegue cubre temas como el despliegue de diferentes ramas de git, tags o commits específicos, y la gestión de múltiples entornos como staging y producción. También encontrará consejos para trabajar con variables de entorno y mucho más.

Y recuerde, si surge algún problema durante el despliegue, la documentación de Solución de problemas es un excelente recurso para ayudarle a resolverlos de forma eficiente y mantener su flujo de trabajo sin interrupciones.