Chapitre 17. Déploiement
Le serveur de développement web fourni avec Flask n'est pas assez robuste, sécurisé ou efficace pour fonctionner dans un environnement de production. Dans ce chapitre, les options de déploiement en production pour les applications Flask sont examinées.
Processus de déploiement
Quelle que soit la méthode d'hébergement utilisée, il y a une série de tâches à effectuer lorsque l'application est installée sur un serveur de production. Il s'agit notamment de la création ou de la mise à jour des tables de la base de données.
Le fait de devoir exécuter ces tâches manuellement à chaque fois que l'application est installée ou mise à niveau est source d'erreurs et prend beaucoup de temps. Au lieu de cela, une commande qui effectue toutes les tâches requises peut être ajoutée à flasky.py.
L'exemple 17-1 montre une mise en œuvre de la commande deploy qui convient à Flasky.
Exemple 17-1. flasky.py: commande de déploiement
fromflask_migrateimportupgradefromapp.modelsimportRole,User@manager.commanddefdeploy():"""Run deployment tasks."""# migrate database to latest revisionupgrade()# create or update user rolesRole.insert_roles()# ensure all users are following themselvesUser.add_self_follows()
Les fonctions invoquées par cette commande ont toutes été créées auparavant ; elles sont simplement invoquées toutes ensemble à ...