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 nube de Python 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 alojamiento en la nube de Python de Stackhero.

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.