Python: Distribuire in produzione

Come distribuire il tuo codice Python in produzione in pochi minuti

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione cloud Python pronta all'uso che fornisce numerosi vantaggi, tra cui:

  • Distribuisci la tua applicazione in pochi secondi con un semplice git push.
  • Usa il tuo nome di dominio e beneficia della configurazione automatica dei certificati HTTPS per una sicurezza migliorata.
  • Goditi la tranquillità con backup automatici, aggiornamenti con un clic, e una tariffazione semplice, trasparente e prevedibile.
  • Ottieni prestazioni ottimali e una sicurezza robusta grazie a una VM privata e dedicata.

Risparmia tempo e semplificati la vita: ci vogliono solo 5 minuti per provare la soluzione di hosting cloud Python di Stackhero!

Stackhero servizio di hosting cloud per Python è una soluzione potente e facile da usare per distribuire i tuoi progetti Python in produzione in pochi minuti. Con la sua configurazione semplice e le sue funzionalità robuste, puoi concentrarti sulla scrittura del codice mentre Stackhero si occupa del lavoro pesante.

Le caratteristiche principali includono:

  • Distribuzione con un semplice git push
  • Dominio personalizzabile con gestione automatica dei certificati TLS (HTTPS)
  • VM dedicata e privata per la massima sicurezza e riservatezza
  • Supporto per HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressione GZIP & Brotli, ETag e accesso alle porte TCP/UDP

Prima di distribuire i tuoi progetti su Stackhero, assicurati di avere Git installato sul tuo computer.

Per risparmiare tempo ed evitare configurazioni complesse se il tuo ambiente di sviluppo non è pronto, considera l'utilizzo di Code-Hero di Stackhero.

Code-Hero è una piattaforma di sviluppo potente, facile da usare e pronta all'uso a cui puoi accedere direttamente tramite il tuo browser su qualsiasi computer, tablet o telefono. Basata su un fork di VSCode, viene preinstallata con tutti gli strumenti di sviluppo essenziali, permettendoti di iniziare a programmare immediatamente senza problemi.

Esempio di un'istanza Code-Hero in esecuzione direttamente sul browserEsempio di un'istanza Code-Hero in esecuzione direttamente sul browser

Distribuire la tua applicazione Python su Stackhero è semplice. Puoi seguire questi passaggi:

  1. Crea un servizio Python su Stackhero.
  2. Aggiungi la tua chiave pubblica SSH alla configurazione del tuo servizio Python.
  3. Configura il comando git push sulla tua piattaforma di sviluppo.
  4. Aggiungi un Makefile al tuo progetto.
  5. Distribuisci il tuo codice in produzione.

Se incontri problemi durante la distribuzione, la documentazione "Risoluzione dei problemi" è probabile che fornisca una soluzione. Può farti risparmiare tempo ed evitarti frustrazioni inutili.

Se non hai ancora avviato un servizio Stackhero for Python, creane uno nel tuo dashboard Stackhero (ci vogliono solo 2 minuti).

Una volta che il tuo servizio Python è in esecuzione, devi configurarlo aggiungendo la tua chiave pubblica SSH. Puoi trovare la tua chiave pubblica eseguendo:

cat ~/.ssh/id_*.pub

Non hai ancora chiavi SSH?

Puoi crearle usando:

ssh-keygen -t ed25519

Per configurare il tuo servizio Python:

  1. Vai al dashboard Stackhero e seleziona il tuo servizio Python.
  2. Clicca sul pulsante "Configura".
  3. Incolla il contenuto della tua chiave pubblica nella sezione "Chiavi pubbliche SSH".

Esempio di configurazione di un servizio PythonEsempio di configurazione di un servizio Python

Suggerimento: Puoi impostare la tua chiave pubblica SSH a livello globale in modo che i futuri servizi la includano automaticamente nella loro configurazione. Per farlo, vai al dashboard Stackhero, clicca sulla tua foto profilo in alto a destra, seleziona "Il tuo profilo" e aggiungi la tua chiave pubblica SSH.

La distribuzione su Stackhero utilizza la CLI di Git con il comando git push. Questo metodo rende le distribuzioni semplici, veloci e affidabili e non richiede l'installazione di strumenti aggiuntivi.

Per abilitare questa funzionalità, copia il valore del comando git remote dalla pagina principale del tuo servizio nel dashboard Stackhero. Il comando sarà simile a:

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

Comando Git remote Python sul dashboard di StackheroComando Git remote Python sul dashboard di Stackhero

Per distribuire il tuo codice su Stackhero, devi specificare i comandi che Stackhero deve eseguire. Questo viene fatto tramite un Makefile, che funge da interfaccia tra Stackhero e la tua applicazione.

Se non hai familiarità con i file Makefile e il comando make, non preoccuparti. Segui semplicemente le istruzioni fornite qui.

Crea un Makefile nella radice del tuo progetto e aggiungi il seguente contenuto:

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

Questo Makefile include tre componenti importanti:

  1. La regola run è obbligatoria perché viene eseguita automaticamente da Stackhero. Non rinominarla.
  2. Il comando gunicorn app:app -b 0.0.0.0:8080 --error-logfile - è un esempio e dovrebbe essere sostituito con il comando appropriato per la tua applicazione.
  3. Un carattere di tabulazione deve precedere il comando gunicorn. Se incontri un errore che indica "*** missing separator", significa che manca il carattere di tabulazione.

In questo esempio, un server Gunicorn viene avviato (assicurati che sia installato e aggiunto al tuo file requirements.txt). L'argomento -b 0.0.0.0:8080 configura il server per ascoltare su qualsiasi interfaccia alla porta 8080. Se cambi la porta, aggiornala nella configurazione del tuo servizio Python sul dashboard Stackhero. La parte app:app indica che il server utilizzerà il file app.py e l'istanza app.

La tua applicazione Python è ora pronta per la distribuzione. Per distribuire il tuo codice su Stackhero, esegui il seguente comando dalla directory del tuo progetto:

git push stackhero main

La prima volta che esegui questo comando, ti verrà chiesto di aggiungere l'impronta digitale della chiave SSH. Rispondi "yes" quando richiesto. In pochi secondi, la tua applicazione sarà online!

Esempio di distribuzione del codice Python su Stackhero usando il comando git pushEsempio di distribuzione del codice Python su Stackhero usando il comando git push

Per controllare la tua applicazione distribuita, vai all'URL "website" visualizzato nel dashboard Stackhero (di solito appare come https://XXXXX.stackhero-network.com).

Congratulazioni, la tua applicazione è ora distribuita in produzione!

Incontri problemi durante la distribuzione?

Consulta la sezione Risoluzione dei problemi per soluzioni che ti aiuteranno a risolvere rapidamente i problemi.

Questa guida fornisce una panoramica completa ma semplice della distribuzione del codice Python in produzione utilizzando Stackhero. Serve come base solida per implementare efficacemente le tue applicazioni.

Per approfondire le tue conoscenze, considera di esplorare la documentazione "Usi avanzati della distribuzione". Imparerai come distribuire vari branch git, tag o commit specifici, oltre a gestire più ambienti come "staging" e "produzione". Scoprirai anche come lavorare con le variabili d'ambiente e molto altro.

Se incontri un problema durante il processo di distribuzione, la documentazione "Risoluzione dei problemi" è una risorsa preziosa che può aiutarti a risolvere i problemi rapidamente ed efficacemente.