technique:python:heroku_dev

Ceci est une ancienne révision du document !


Plateforme de dev Heroku

Heroku permet de déployer des plateformes de dev / test pour quelques heures avec des outils intégrés adaptés à des langages comme : Node.js, Ruby, Java, PHP, Python, Go, Scala, Clojure…

Heroku crée une copie de votre code local, le dépose dasn un dépot distant et l'exécute. Il vaut donc mieux s'assurer qu'il fonctionne localement avant.

Il est possible de créer un compte gratuit, limité à 1000 h / mois pour toutes les “dynos” (= applis). L'espace disque est limité à 500 Mo en tout.

Les applis ont chacune leur URL propre. Pour utiliser Heroku, il est nécessaire connaitre quelques commandes GIT.

Aide : https://virantha.com/2013/11/14/starting-a-simple-flask-app-with-heroku/

Se créer un compte sur https://heroku.com (login et passord)

Installer le client heroku sur son PC (win, mac, linux).

Sous Linux pour ajouter le dépot et installer le paquet :

curl https://cli-assets.heroku.com/install-ubuntu.sh | sh

Vérifer que heroku est bien installé (dans /usr/bin)

heroku --version

doit renvoyer la version 7.x au moins.

Se connecter avec son compte heroku :

heroku login -i

remplir les chamsp mail et mot de passe pour recevoir : “Logged in as xxx” (infos stockées dans ~/.netrc)

Créer une copie d'un dépot local

git clone https://github.com/heroku/python-getting-started.git

cd python-getting-started

heroku create

Pusher le code

git push heroku master

Vérifier que l'appli est online :

heroku ps:scale web=1

Voir l'appli et son url :

heroku open

Voir les logs :

heroku logs --tail

Voir les ressources utilisées :

heroku ps

Eteindre le container :

heroku ps:scale web=0

Créer un fichier “Procfile” et y indiquer la première commande à lancer comme :

web: python mon appli.py

Créer un fichier “requirements” et y indiquer les dépendances à ajouter :

flask

Créer un fichier “runtime.txt” et y indiquer la version de python à utiliser :

python-3.6.10

Créer le dépot Git (avec le nom de l'applciation créé dans le dashboard)

heroku git:clone -a matomotrack

Ajouter les fichiers utiles dans le dépot :

git add . # pour tout ajouter (pas nécessaire d'ajouter les lib/ include/)

git commit -am "Infos sur le commit"

git push heroku master

Pour voir l'appli :

heroku open

Modifier le code et mettre à jour le dépot git et commit. Puis relancer

git push heroku master

Utiliser le port local fourni par Heroku :

import os

if __name__ == "__main__":
    port = int(os.environ.get("PORT", 5000))
    app.run(host='0.0.0.0', port=port)
  • technique/python/heroku_dev.1586564788.txt.gz
  • Dernière modification : 2020/04/11 02:26
  • de 127.0.0.1