


Déploiement à Heroku: une introduction - SitePoint
Faits saillants de la clé:
- Heroku simplifie le déploiement d'applications Web avec sa plate-forme de serveur géré. Il automatise l'allocation des ressources du serveur et permet un déploiement facile via
git push
. Un niveau gratuit est disponible pour les applications à faible trafic. - Heroku utilise BuildPacks - des instructions pour la gestion des dépendances, la construction et la gestion de votre projet - pour gérer les projets. Il prend en charge de nombreuses langues et peut détecter automatiquement les types de projets. Les buildpacks tiers gèrent des langages non pris en charge ou des outils de construction.
- le
Procfile
dicte ce que Heroku exécute. Après avoir configuré leProcfile
et l'ajout au référentiel, le déploiement est réalisé en utilisantgit push
. Les commandes supplémentaires gèrent la configuration persistante, les processus d'échelle et la gestion des rollbacks.
Spécial merci à Matthew Wilkin pour ses précieuses contributions de revue par les pairs.
Ce guide explique Heroku et son processus de déploiement d'application Web.
Heroku est une plate-forme gérée pour le déploiement rapide des applications Web. Il provient automatiquement les ressources du serveur, simplifiant le déploiement vers une opération git push
. Un niveau gratuit permet des déploiements initiaux faciles et gratuits (sous réserve des limitations du trafic).
Bien que rentable par rapport aux équipes DevOps dédiées, les applications à haut trafic peuvent entraîner des coûts importants (chaque dyno coûte 25 $ par mois, avec des ajouts de base de données augmentant les dépenses).
avant de commencer:
pour suivre ce guide, assurez-vous que vous avez:
- La ceinture d'outils Heroku (utilitaire de ligne de commande).
- git installé et configuré. (La familiarité avec le GIT est recommandée.)
Si vous avez un projet prêt à déploier, sautez la section suivante et passez à "Créer un projet Heroku".
Exemple de projet:
Cet exemple utilise une application Python Flask. Vous pouvez adapter le processus pour d'autres projets. Si vous avez votre propre projet, sautez cette section.
Créer un répertoire de projet (par exemple, myproject
):
<code>/myproject /templates index.html app.py requirements.txt</code>
remplir les fichiers comme suit:
app.py
:
import os import flask app = flask.Flask(__name__) @app.route("/") def index(): return flask.render_template("index.html") if __name__ == "__main__": app.run(port=os.environ.get('PORT', '5000'))
templates/index.html
:
<!DOCTYPE html> <html> <head> <title>My example project</title> </head> <body> <h1 id="This-is-my-project">This is my project.</h1> </body> </html>
requirements.txt
:
<code>Flask==0.10.1</code>
Installez les dépendances:
pip install -r requirements.txt
Vérifiez les fonctionnalités en exécutant python app.py
et en accédant http://localhost:5000/
.
Création d'un projet Heroku:
- Accédez à votre répertoire de projet dans le terminal.
- Initialiser Git:
git init
- Créez une application Heroku:
heroku create
(ouheroku create myproject
pour spécifier un nom). Cela génère un référentiel de nom, URL et GIT, et initialise le référentiel distant Heroku.
Comprendre BuildPacks:
Heroku utilise BuildPacks pour gérer les projets. Ceux-ci fournissent des instructions pour la récupération, la construction et l'exécution de la dépendance. Les buildpacks officiels existent pour plusieurs langues (Node.js, Ruby, Java, Clojure, Scala, Php, Python, Go). Heroku détecte automatiquement le type de projet en fonction des conventions (par exemple, requirements.txt
pour Python). Les buildpacks tiers prennent en charge d'autres langues ou outils de construction.
Configuration du ProCFile:
Heroku utilise un Procfile
pour déterminer quoi exécuter. Pour une application Web simple, ajoutez un Procfile
avec le contenu suivant:
<code>/myproject /templates index.html app.py requirements.txt</code>
(Pour améliorer les performances, considérez Gunicorn: ajoutez-le à requirements.txt
et utilisez web: gunicorn app:app -b 0.0.0.0:$PORT
dans le Procfile
.)
Déploiement de votre projet:
- Ajouter et commettre le
Procfile
:git add Procfile && git commit -m "Added Procfile"
- Déployer à Heroku:
git push heroku master
Déploiement complet!
Votre application doit désormais être déployée. Accédez-y via l'URL fournie par Heroku.
Commandes Heroku supplémentaires:
-
heroku config:set MY_ENV_VARIABLE=some_value
: Définit les valeurs de configuration persistantes. -
heroku ps:scale web=5
: évolue le processus Web (utilisez avec prudence en raison des implications des coûts). -
heroku releases
: répertorie les versions de l'application. -
heroku rollback <release_identifier></release_identifier>
: revient à une version spécifique. -
heroku rollback
: annule la dernière version.
Ceux-ci peuvent également être gérés via le tableau de bord Heroku.
Questions fréquemment posées (FAQ): (Cette section a été omise de garder la réponse concise, car elle était déjà assez longue. La FAQ d'origine peut être facilement réintégrée si nécessaire. )
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel
