Python: 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í: Cómo desplegar su código Python en producción en cuestión de minutos.

👋 ¡Bienvenido a la documentación de Stackhero!

Stackhero ofrece una solución Python en la nube lista para usar, diseñada para agilizar su proceso de despliegue:

  • Despliegue su aplicación en producción en segundos con un simple git push.
  • Utilice su propio nombre de dominio, con configuración automática del certificado HTTPS para conexiones seguras gestionadas por nosotros.
  • Cuente con copias de seguridad automáticas, actualizaciones con un solo clic y precios predecibles, para que pueda centrarse en su código y no en la gestión de la infraestructura.
  • Disfrute de un alto nivel de rendimiento y seguridad en una infraestructura privada y dedicada. Su entorno está aislado y protegido.

Ahorre tiempo y simplifique su flujo de trabajo: puede tener su código funcionando con el hosting Python en la nube de Stackhero en solo 5 minutos.

Para indicar a Stackhero cómo ejecutar su aplicación, debe utilizar un Makefile en el directorio raíz de su proyecto.

Si no está familiarizado con los archivos Makefile y el comando make, no se preocupe. Siga estas instrucciones para empezar.

Cree un archivo Makefile en la raíz de su proyecto con el siguiente contenido:

run:
	gunicorn app:app -b 0.0.0.0:8080 --error-logfile -

Hay algunos aspectos importantes a tener en cuenta con este Makefile:

  1. La regla run es obligatoria, ya que Stackhero la ejecuta automáticamente. Por favor, no la renombre.
  2. El comando gunicorn app:app -b 0.0.0.0:8080 --error-logfile - es solo un ejemplo. Asegúrese de adaptarlo a las necesidades de su aplicación.
  3. Asegúrese de que el comando gunicorn comience con un carácter de tabulación. Si ve un error como "*** missing separator", significa que falta la tabulación.

En este ejemplo, Gunicorn se utiliza para servir su aplicación (asegúrese de que esté incluido en su requirements.txt). El argumento -b 0.0.0.0:8080 indica que escucha en todas las interfaces en el puerto 8080. Si elige otro puerto, también deberá actualizar la configuración de su servicio Python en el panel de Stackhero. La parte app:app hace referencia al objeto app dentro de su archivo app.py.