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 dans 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). Le nombre d'appli est limité à 5 et l'espace disque est limité à 500 Mo en tout (par compte)
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/
Installation
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 champs mail et mot de passe pour recevoir : “Logged in as xxx
” (infos stockées dans ~/.netrc
)
Demo
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
Application personnalisée
Fichiers prérecquis
Créer un fichier “Procfile” et y indiquer la première commande à lancer comme :
web: python3 monappli.py
Créer un fichier “requirements.txt” et y indiquer les dépendances à ajouter :
flask
Créer un fichier “runtime.txt” et y indiquer la version de python à utiliser (3.6.10 par défaut) :
python-3.6.10
Initialisation et lancement de l'appli
Créer le dépot Git (avec le nom de l'applciation créé dans le dashboard)
heroku git:clone -a nom_de_appli (dyno)
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
Modifier le code et mettre à jour le dépot git et commit. Puis relancer
git push heroku master
Astuce pour Flask
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)