technique:python:heroku_dev

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:python:heroku_dev [2020/05/14 03:31] francoisatechnique:python:heroku_dev [2024/04/02 15:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
-====== Plateforme de dev Heroku ====== +**Cette page est obsolèteVeuillez accéder au contenu à son nouvel emplacement : [[https://bibliotech.cemea.org/books/outils-technique/page/heroku-dev|heroku-dev]]**
- +
-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 [[https://www.heroku.com/pricing|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 [[:technique:git:accueil|commandes GIT]]. +
- +
-Aide : [[https://virantha.com/2013/11/14/starting-a-simple-flask-app-with-heroku/|https://virantha.com/2013/11/14/starting-a-simple-flask-app-with-heroku/]] +
- +
-===== Installation ===== +
- +
-Se créer un compte sur [[https://heroku.com|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 : +
-<code> +
- +
-curl https://cli-assets.heroku.com/install-ubuntu.sh | sh +
- +
-</code> +
- +
-Vérifer que heroku est bien installé (dans /usr/bin) +
-<code> +
- +
-heroku --version +
- +
-</code> +
- +
-doit renvoyer la version 7.x au moins. +
- +
-Se connecter avec son compte heroku : +
- +
-<code> +
-heroku login -i +
- +
-</code> +
- +
-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 +
- +
-<code> +
-git clone https://github.com/heroku/python-getting-started.git +
- +
-</code> +
- +
-cd python-getting-started +
- +
-<code> +
-heroku create +
- +
-</code> +
- +
-Pusher le code +
- +
-<code> +
-git push heroku master +
- +
-</code> +
- +
-Vérifier que l'appli est online : +
- +
-<code> +
-heroku ps:scale web=1 +
- +
-</code> +
- +
-Voir l'appli et son url : +
- +
-<code> +
-heroku open +
- +
-</code> +
- +
-Voir les logs : +
- +
-<code> +
-heroku logs --tail +
- +
-</code> +
- +
-Voir les ressources utilisées : +
- +
-<code> +
-heroku ps +
- +
-</code> +
- +
-Eteindre le container : +
- +
-<code> +
-heroku ps:scale web=0 +
- +
-</code> +
- +
-===== Application personnalisée ===== +
- +
-==== Fichiers prérecquis ==== +
- +
-Créer un fichier "Procfile" et y indiquer la première commande à lancer comme : +
- +
-<code> +
-web: python monappli.py +
- +
-</code> +
- +
-Créer un fichier "requirements" et y indiquer les dépendances à ajouter : +
- +
-<code> +
-flask +
- +
-</code> +
- +
-Créer un fichier "runtime.txt" et y indiquer la version de python à utiliser : +
- +
-<code> +
-python-3.6.10 +
- +
-</code> +
- +
-==== Initialisation et lancement de l'appli ==== +
- +
-Créer le dépot Git (avec le nom de l'applciation créé dans le dashboard) +
- +
-<code> +
-heroku git:clone -a nom_de_appli (dyno) +
- +
-</code> +
- +
-Ajouter les fichiers utiles dans le dépot : +
- +
-<code> +
-git add . # pour tout ajouter (pas nécessaire d'ajouter les lib/ include/) +
- +
-git commit -am "Infos sur le commit" +
- +
-git push heroku master +
- +
-</code> +
- +
-Pour voir l'appli : +
- +
-<code> +
-heroku open +
- +
-</code> +
- +
-==== Modifier le code et mettre à jour ==== +
- +
-Modifier le code et mettre à jour le dépot git et commit. Puis relancer +
- +
-<code> +
-git push heroku master +
- +
-</code> +
- +
-==== Astuce pour Flask ==== +
- +
-Utiliser le port local fourni par Heroku : +
- +
-<code> +
-import os +
- +
-if __name__ == "__main__": +
-    port = int(os.environ.get("PORT", 5000)) +
-    app.run(host='0.0.0.0', port=port) +
- +
-</code> +
- +
  • technique/python/heroku_dev.1589419875.txt.gz
  • Dernière modification : 2020/05/14 03:31
  • de francoisa