Despliegue automático de apps en Heroku
Con el siguiente script Python podrás automatizar la repetitiva tarea de desplegar un programa Python en una app de Heroku.
Características del script:
- Comprueba si Git y Heroku están correctamente instalados, en caso contrario te indicará los enlaces que debes consultar para instalarlos.
- Si lo ejecutas desde Raspbian (RaspiOS) te permite instalar automáticamente Heroku CLI.
- Te ayuda a configurar los datos personales en Git (necesario para poder hacer commit).
- Te permite crear la app si ésta aún no fue creada.
- Genera automáticamente los archivos Procfile, runtime.txt y requirements.txt; este último solo contendrá los módulos necesarios para la ejecución del programa que quieres desplegar.
- Añade automáticamente los buildpacks necesarios para operar con Selenium (Chrome y Chromedriver) solo si el programa que quieres desplegar los necesita.
- Te permite ejecutar la app de Heroku desde la terminal una vez desplegada.
Su modo de uso es muy sencillo, simplemente descarga en el mismo directorio del programa que quieras desplegar y ejecútalo de la siguiente forma:
python desploku.py NOMBRE-APP-HEROKU [commit]
Si la app que indicas no está creada, te ayudará a crearla si lo deseas.
Si no indicas ningún commit, se configurará uno automáticamente con la fecha y hora actual.
Como el script seguramente no está exento de fallos (ningún programa lo está), te invito a que veas el siguiente vídeo en el que explico detalladamente cómo se despliega una app en Heroku manualmente, además del funcionamiento del script; así comprobarás de primera mano cuánto te simplifica la tarea el script y además, en caso de que no te funcione, sabrás dónde puede estar el error y lo más importante de todo, cómo podrías solucionarlo.
Videotutorial de desploku y despliegue manual
Igualmente, si encuentras algún fallo en el script, te agradecería que lo dejaras en los comentarios, ya sea del vídeo o de este post para que pueda revisarlo y, en su caso, solucionarlo.
Y sin más, te dejo aquí el enlace para que puedas descargarlo: