Python: Deployen naar productie

Hoe u uw Python-code binnen enkele minuten naar productie kunt deployen

👋 Welkom bij de Stackhero-documentatie!

Stackhero biedt een kant-en-klare Python cloud oplossing die tal van voordelen biedt, waaronder:

  • Implementeer uw applicatie in seconden met een eenvoudige git push.
  • Gebruik uw eigen domeinnaam en profiteer van de automatische configuratie van HTTPS-certificaten voor verbeterde beveiliging.
  • Geniet van gemoedsrust met automatische back-ups, updates met één klik, en eenvoudige, transparante en voorspelbare prijzen.
  • Krijg optimale prestaties en robuuste beveiliging dankzij een privé en dedicated VM.

Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Python cloud hosting oplossing van Stackhero te proberen!

De Python cloud hosting service van Stackhero biedt een eenvoudige en betrouwbare manier om uw Python-projecten binnen enkele minuten naar productie te deployen. Dankzij de intuïtieve setup en krachtige features kunt u zich volledig richten op het bouwen van uw applicatie, terwijl Stackhero de infrastructuur voor u beheert.

Belangrijke kenmerken zijn onder andere:

  • Deployen met een simpele git push
  • Eigen domeinen met automatische TLS-certificaatbeheer (HTTPS)
  • Dedicated, private VM's voor extra beveiliging en vertrouwelijkheid
  • Ondersteuning voor HTTP/2, TLS 1.3 (HTTPS), WebSockets, GZIP & Brotli-compressie, ETag en toegang tot TCP/UDP-poorten

Voordat u aan de slag gaat met Stackhero, controleer of Git op uw computer is geïnstalleerd.

Als uw ontwikkelomgeving nog niet is ingericht of u tijd wilt besparen op configuratie, probeer dan Stackhero's Code-Hero.

Code-Hero is een gebruiksvriendelijk, direct inzetbaar ontwikkelplatform dat rechtstreeks in uw browser draait, op elke computer, tablet of telefoon. Gebaseerd op een fork van VSCode, wordt Code-Hero geleverd met alle essentiële ontwikkeltools vooraf geïnstalleerd, zodat u direct kunt beginnen met coderen zonder extra setup.

Voorbeeld van een Code-Hero-instantie die direct in de browser draaitVoorbeeld van een Code-Hero-instantie die direct in de browser draait

Het deployen van uw Python-applicatie naar Stackhero is ontworpen om eenvoudig en soepel te verlopen. Zo doet u dat:

  1. Maak een Python-service aan op Stackhero.
  2. Voeg uw SSH-public key toe aan de configuratie van uw Python-service.
  3. Configureer het git push-commando op uw ontwikkelplatform.
  4. Voeg een Makefile toe aan uw project.
  5. Deploy uw code naar productie.

Mocht u problemen ondervinden tijdens het deployen, dan vindt u waarschijnlijk antwoorden in de documentatie "Troubleshooting". Daar eerst kijken kan u veel frustratie besparen.

Als u nog geen Stackhero for Python-service bent gestart, kunt u er eenvoudig een aanmaken via uw Stackhero-dashboard. Dit duurt meestal slechts een paar minuten.

Zodra uw Python-service actief is, moet u uw SSH-public key toevoegen aan de configuratie. U kunt uw public key weergeven met:

cat ~/.ssh/id_*.pub

Heeft u nog geen SSH-sleutels?

U kunt ze genereren met:

ssh-keygen -t ed25519

Om uw public key toe te voegen aan uw Python-service:

  1. Open het Stackhero-dashboard en selecteer uw Python-service.
  2. Klik op de knop "Configure".
  3. Plak uw SSH-public key in het veld "SSH public keys".

Voorbeeld van een Python-serviceconfiguratieVoorbeeld van een Python-serviceconfiguratie

Tip: U kunt uw SSH-public key ook globaal instellen, zodat deze automatisch wordt toegevoegd aan elke nieuwe service die u aanmaakt. Ga hiervoor naar uw profiel in het Stackhero-dashboard, klik rechtsboven op uw profielfoto, kies "Your profile" en voeg uw SSH-public key toe.

Stackhero maakt deployen eenvoudig door gebruik te maken van de Git CLI en het vertrouwde git push-commando. U hoeft geen extra software te installeren; configureer uw Git remote één keer en u bent klaar om te deployen.

Uw git remote command vindt u op de hoofdpagina van uw service in het Stackhero-dashboard. Dit ziet er ongeveer zo uit:

git remote add stackhero ssh://stackhero@<XXXXXX>.stackhero-network.com:222/project.git

Python Git remote-commando op het Stackhero-dashboardPython Git remote-commando op het Stackhero-dashboard

Om Stackhero te laten weten hoe uw applicatie gestart moet worden, gebruikt u een Makefile in de hoofdmap van uw project.

Bent u niet bekend met Makefile-bestanden en het make-commando? Geen probleem. Volg gewoon deze instructies om te beginnen.

Maak een Makefile aan in de root van uw project met de volgende inhoud:

run:
	gunicorn app:app -b 0.0.0.0:8080 --error-logfile -

Let op de volgende punten bij deze Makefile:

  1. De run-regel is verplicht, omdat Stackhero deze automatisch uitvoert. Hernoem deze dus niet.
  2. Het commando gunicorn app:app -b 0.0.0.0:8080 --error-logfile - is slechts een voorbeeld. Pas dit aan op basis van de vereisten van uw applicatie.
  3. Zorg ervoor dat het gunicorn-commando begint met een tab. Als u een foutmelding krijgt zoals "*** missing separator", betekent dit dat de tab ontbreekt.

In dit voorbeeld wordt Gunicorn gebruikt om uw app te draaien (zorg dat deze in uw requirements.txt staat). Het argument -b 0.0.0.0:8080 betekent dat er geluisterd wordt op alle interfaces op poort 8080. Als u een andere poort kiest, moet u ook de configuratie van uw Python-service in het Stackhero-dashboard aanpassen. Het deel app:app verwijst naar het app-object in uw app.py-bestand.

Als alles is ingesteld, kunt u gaan deployen. Voer vanuit uw projectdirectory het volgende commando uit om uw code naar Stackhero te pushen:

git push stackhero main

De eerste keer dat u dit commando uitvoert, wordt u gevraagd om de SSH key fingerprint te bevestigen. Antwoord gewoon "yes" als daarom wordt gevraagd. Binnen enkele seconden staat uw applicatie live.

Voorbeeld van het deployen van Python-code naar Stackhero met het git push-commandoVoorbeeld van het deployen van Python-code naar Stackhero met het git push-commando

Om uw gedeployde app te bekijken, gaat u naar de "website"-URL die in uw Stackhero-dashboard staat vermeld (meestal in de vorm van https://<XXXXXX>.stackhero-network.com).

Dat is alles, uw applicatie draait nu in productie.

Problemen tijdens het deployen?

De sectie Troubleshooting staat vol met oplossingen om u snel weer op weg te helpen.

We hopen dat deze gids het deployen van uw Python-code naar productie met Stackhero duidelijk en toegankelijk heeft gemaakt. Met deze basis kunt u uw projecten betrouwbaar live brengen.

Wilt u verder gaan? De documentatie "Advanced Deployment Usages" behandelt onderwerpen zoals deployen vanaf verschillende git-branches, tags of commits, het beheren van meerdere omgevingen (zoals staging en productie), en werken met environment variables.

En onthoud: mocht u problemen tegenkomen, de documentatie "Troubleshooting" is altijd beschikbaar om u snel weer op weg te helpen.