Table des matières
This is my project.
Maison Périphériques technologiques Industrie informatique Déploiement à Heroku: une introduction - SitePoint

Déploiement à Heroku: une introduction - SitePoint

Feb 18, 2025 am 09:19 AM

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 id="This-is-my-project">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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

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 !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Sujets chauds

Tutoriel Java
1663
14
Tutoriel PHP
1263
29
Tutoriel C#
1237
24
Pilote CNCF ARM64: impact et perspectives Pilote CNCF ARM64: impact et perspectives Apr 15, 2025 am 08:27 AM

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

Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Pipeline de traitement d'image sans serveur avec AWS ECS et Lambda Apr 18, 2025 am 08:28 AM

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

Top 21 newsletters du développeur auquel s'abonner en 2025 Top 21 newsletters du développeur auquel s'abonner en 2025 Apr 24, 2025 am 08:28 AM

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

See all articles