El proyecto de Django debe estár en git
Primero se debe instalar Heroku CLI(command line interface) Instaladores de Windows y MacOS se encuentran en esta página https://devcenter.heroku.com/articles/getting-started-with-python#set-up
Por otro lado se puede instalar en Mac Os por medio de homebrew
$ brew install heroku/brew/heroku
Para Windows con Chocolatey https://chocolatey.org/packages/heroku-cli
choco install heroku-cli
Para Linux
$ sudo snap install heroku --classic
Por último en la consola se debe ejecutar el comando de login
heroku login
Lo que abrirá el navegador con la pantalla de login
Asegurar que la raíz del proyecto de Django tenga los siguientes archivos:
- runtime.txt con la versión de Python a usar
python-3.7.5
- requirements.txt con al menos:
django
Django-admin
djangorestframework
Gunicorn
psycopg2==2.7.5
Django-heroku
- Procfile con
web: gunicorn <NOMBRE_PROYECTO>.wsgi --log-file -
- Procfile.windows con
web: python manage.py runserver 0.0.0.0:5000
Editar <NOMBRE_PROYECTO>/<NOMBRE_PROYECTO>/settings.py
, agregando lo siguiente:
- Al comienzo del archivo
import django_heroku
- Al final del archivo
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
django_heroku.settings(locals(), test_runner=FALSE)
test_runner
queda como falso dado que dejaremos los test a Travis
Luego, crear una aplicación en Heroku con el siguiente comando:
heroku create
Esto también creará un proceso “git remote” asociado al repositorio local
Para hacer un despliegue del código se utiliza (debe hacer un commit antes)
$ git push heroku master
La aplicación ha sido desplegada, se asegura que al menos una instancia de la app está corriendo mediante
heroku ps:scale web=1
Para visitar la aplicación una vez desplegada se puede utilizar el siguiente comando
heroku open
- Tener el repositorio en github
- Tener credenciales de autor del repositorio
- Ruby 2.4.0 o superior
Instalar Travis CLI desde https://github.com/travis-ci/travis.rb#installation
Ir a la página de Travis e iniciar sesión con github o bitbucket , luego aceptar la autorización de github o bitbucket
Activar el repositorio en la sección settings que se puede acceder al hacer click en la foto del perfil.
Agregar .travis.yml
en la raíz del proyecto con la siguiente información:
language: python
python:
- “3.7.5”
install:
- pip3 install -r requirements.txt
script:
- python3 manage.py makemigrations
- python3 manage.py migrate
- python3 manage.py test
deploy:
provider: heroku
api_key:
secure: <el resultado del comando: travis encrypt $(heroku auth:token)>
app: <Nombre de la App en Heroku>
on:
repo: <Usuario de git>/<Nombre del repo>
Desde la interfaz web de heroku se debe realizar el link con el repositorio de github, esto se hace desde la pestaña de “Deploy”, indicando conexión github, indicando el nombre del repositorio.Una vez hecho esto, en github se se observa en “settings” -> ”webhooks” que el repositorio se ha enlazado a heroku.