Maison > Périphériques technologiques > Industrie informatique > Déploiement à Heroku: une introduction - SitePoint

Déploiement à Heroku: une introduction - SitePoint

Jennifer Aniston
Libérer: 2025-02-18 09:19:10
original
694 Les gens l'ont consulté

Deploying to Heroku: An 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é le Procfile et l'ajout au référentiel, le déploiement est réalisé en utilisant git 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.

Deploying to Heroku: An introduction — SitePoint

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:

  1. La ceinture d'outils Heroku (utilitaire de ligne de commande).
  2. 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>
Copier après la connexion
Copier après la connexion

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'))
Copier après la connexion

templates/index.html:

<!DOCTYPE html>
<html>
  <head>
    <title>My example project</title>
  </head>
  <body>
    <h1>This is my project.</h1>
  </body>
</html>
Copier après la connexion

requirements.txt:

<code>Flask==0.10.1</code>
Copier après la connexion

Installez les dépendances:

pip install -r requirements.txt
Copier après la connexion

Vérifiez les fonctionnalités en exécutant python app.py et en accédant http://localhost:5000/.

Création d'un projet Heroku:

  1. Accédez à votre répertoire de projet dans le terminal.
  2. Initialiser Git: git init
  3. Créez une application Heroku: heroku create (ou heroku 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>
Copier après la connexion
Copier après la connexion

(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:

  1. Ajouter et commettre le Procfile: git add Procfile && git commit -m "Added Procfile"
  2. 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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal