Python: Déployer en production
Comment déployer votre code Python en production en quelques minutes
👋 Bienvenue sur la documentation de Stackhero !
Stackhero propose une solution cloud Python prête à l'emploi offrant de nombreux avantages, notamment :
- Déployez votre application en quelques secondes avec un simple
git push.- Utilisez votre propre nom de domaine et bénéficiez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
- Profitez de la tranquillité d'esprit avec des sauvegardes automatiques, des mises à jour en un clic, et une tarification simple, transparente et prévisible.
- Obtenez des performances optimales et une sécurité robuste grâce à une VM privée et dédiée.
Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution d'hébergement cloud Python de Stackhero !
Le service d'hébergement cloud Python de Stackhero propose une méthode simple et fiable pour déployer vos projets Python en production en seulement quelques minutes. Grâce à une configuration intuitive et des fonctionnalités robustes, vous pouvez vous concentrer sur le développement de votre application pendant que Stackhero gère les aspects liés à l'infrastructure.
Parmi les fonctionnalités clés :
- Déploiement par simple
git push - Domaines personnalisés avec gestion automatique des certificats TLS (HTTPS)
- VMs dédiées et privées pour une sécurité et une confidentialité renforcées
- Prise en charge de HTTP/2, TLS 1.3 (HTTPS), WebSockets, compression GZIP & Brotli, ETag, et accès aux ports TCP/UDP
Prérequis
Avant de commencer avec Stackhero, assurez-vous que Git est installé sur votre ordinateur.
Si votre environnement de développement n'est pas encore prêt ou si vous souhaitez gagner du temps sur la configuration, vous pouvez essayer Code-Hero de Stackhero.
Code-Hero est une plateforme de développement prête à l'emploi, facile à utiliser, qui fonctionne directement dans votre navigateur, sur n'importe quel ordinateur, tablette ou téléphone. Basé sur un fork de VSCode, Code-Hero est livré avec tous les outils essentiels préinstallés pour que vous puissiez commencer à coder immédiatement, sans configuration supplémentaire.
Exemple d'une instance Code-Hero exécutée directement dans le navigateur
Etapes pour déployer sur Stackhero
Le déploiement de votre application Python sur Stackhero est conçu pour être simple et fluide. Voici comment procéder :
- Créez un service Python sur Stackhero.
- Ajoutez votre clé publique SSH à la configuration de votre service Python.
- Configurez la commande
git pushsur votre plateforme de développement. - Ajoutez un Makefile à votre projet.
- Déployez votre code en production.
Si vous rencontrez des difficultés lors du déploiement, vous trouverez probablement des réponses dans la documentation "Dépannage". La consulter en premier peut vous éviter bien des frustrations.
Configuration de votre service "Stackhero for Python"
Si vous n'avez pas encore lancé de service Stackhero for Python, vous pouvez en créer un depuis votre tableau de bord Stackhero. Cela prend généralement seulement quelques minutes.
Une fois votre service Python opérationnel, vous devrez ajouter votre clé publique SSH à sa configuration. Pour afficher votre clé publique, exécutez :
cat ~/.ssh/id_*.pub
Vous n'avez pas encore de clés SSH ?
Vous pouvez les générer avec :
ssh-keygen -t ed25519
Pour ajouter votre clé publique à votre service Python :
- Ouvrez le tableau de bord Stackhero et sélectionnez votre service Python.
- Cliquez sur le bouton "Configurer".
- Collez votre clé publique SSH dans la section "Clés publiques SSH".
Exemple de configuration d'un service Python
Astuce : Vous pouvez aussi définir votre clé publique SSH globalement afin que toute nouvelle création de service l'inclue automatiquement. Pour cela, rendez-vous dans votre profil sur le tableau de bord Stackhero, cliquez sur votre photo de profil en haut à droite, sélectionnez "Votre profil" et ajoutez votre clé publique SSH.
Configuration de la commande git push pour le déploiement
Stackhero simplifie le déploiement grâce à l'utilisation du CLI Git et de la commande familière git push. Il n'est pas nécessaire d'installer de logiciel supplémentaire, il suffit de configurer votre remote Git une fois et vous êtes prêt.
Vous trouverez votre git remote command sur la page principale de votre service dans le tableau de bord Stackhero. Elle ressemble à ceci :
git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git
Commande Git remote Python sur le tableau de bord Stackhero
Création d'un Makefile pour le déploiement Stackhero
Pour indiquer à Stackhero comment exécuter votre application, vous utiliserez un Makefile à la racine de votre projet.
Si vous découvrez les fichiers
Makefileet la commandemake, pas d'inquiétude. Suivez simplement ces instructions pour démarrer.
Créez un fichier Makefile à la racine de votre projet avec le contenu suivant :
run:
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -
Quelques points importants concernant ce Makefile :
- La règle
runest obligatoire, car Stackhero l'exécute automatiquement. Ne la renommez pas. - La commande
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -est un exemple. Adaptez-la selon les besoins de votre application. - Veillez à commencer la commande gunicorn par une tabulation. Si vous voyez une erreur du type "*** missing separator", cela signifie que la tabulation est absente.
Dans cet exemple, Gunicorn sert votre application (assurez-vous qu'il figure dans votre requirements.txt). L'argument -b 0.0.0.0:8080 indique qu'il écoute sur toutes les interfaces au port 8080. Si vous choisissez un autre port, pensez à mettre à jour la configuration de votre service Python dans le tableau de bord Stackhero. La partie app:app fait référence à l'objet app dans votre fichier app.py.
Déployer votre application Python
Une fois tout configuré, vous pouvez déployer. Depuis le répertoire de votre projet, utilisez cette commande pour pousser votre code sur Stackhero :
git push stackhero main
La première fois que vous exécutez cette commande, il vous sera demandé de confirmer l'empreinte de la clé SSH. Répondez simplement "yes" lorsque cela vous est demandé. En quelques secondes, votre application sera en ligne.
Exemple de déploiement de code Python sur Stackhero avec la commande git push
Pour consulter votre application déployée, rendez-vous sur l'URL "website" indiquée dans votre tableau de bord Stackhero (elle ressemble généralement à https://<XXXXXX>.stackhero-network.com).
Et voilà, votre application est maintenant en production.
Vous rencontrez des difficultés lors du déploiement ?
La section Dépannage regorge de solutions pour vous aider à résoudre rapidement vos problèmes.
Conclusion
Nous espérons que ce guide vous a permis de déployer votre code Python en production sur Stackhero de façon claire et accessible. Avec ces bases, vous pouvez mettre vos projets en ligne en toute confiance.
Si vous souhaitez aller plus loin, la documentation "Usages avancés du déploiement" aborde des sujets comme le déploiement depuis différentes branches, tags ou commits git, la gestion de plusieurs environnements (staging, production), ou encore l'utilisation de variables d'environnement.
Et n'oubliez pas, en cas de problème, la documentation "Dépannage" est toujours disponible pour vous aider à repartir rapidement.