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!

Il servizio di cloud hosting Python di Stackhero offre un modo semplice e affidabile per distribuire i tuoi progetti Python in produzione in pochi minuti. Grazie a una configurazione intuitiva e a funzionalità robuste, puoi concentrarti sullo sviluppo della tua applicazione mentre Stackhero si occupa di tutti gli aspetti infrastrutturali.

Alcune funzionalità chiave includono:

  • Deployment tramite un semplice git push
  • Domini personalizzati con gestione automatica dei certificati TLS (HTTPS)
  • VM dedicate e private per una maggiore sicurezza e riservatezza
  • Supporto per HTTP/2, TLS 1.3 (HTTPS), WebSockets, compressione GZIP & Brotli, ETag e accesso alle porte TCP/UDP

Prima di iniziare con Stackhero, assicurati che Git sia installato sul tuo computer.

Se il tuo ambiente di sviluppo non è ancora pronto o desideri risparmiare tempo nella configurazione, puoi provare Code-Hero di Stackhero.

Code-Hero è una piattaforma di sviluppo pronta all'uso, facile da utilizzare, che funziona direttamente dal browser su qualsiasi computer, tablet o smartphone. Basata su un fork di VSCode, Code-Hero viene fornita con tutti gli strumenti essenziali già installati, così puoi iniziare a programmare subito senza ulteriori configurazioni.

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

La distribuzione della tua applicazione Python su Stackhero è pensata per essere semplice e senza intoppi. Ecco come procedere:

  1. Crea un servizio Python su Stackhero.
  2. Aggiungi la tua chiave pubblica SSH alla configurazione del 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 riscontri problemi durante la distribuzione, probabilmente troverai le risposte nella documentazione "Troubleshooting". Consultarla per prima può aiutarti a evitare inutili frustrazioni.

Se non hai ancora avviato un servizio Stackhero for Python, puoi crearne uno dal tuo dashboard Stackhero. Di solito bastano pochi minuti.

Una volta che il servizio Python è attivo, dovrai aggiungere la tua chiave pubblica SSH alla sua configurazione. Puoi visualizzare la tua chiave pubblica eseguendo:

cat ~/.ssh/id_*.pub

Non hai ancora delle chiavi SSH?

Puoi generarle con:

ssh-keygen -t ed25519

Per aggiungere la tua chiave pubblica al servizio Python:

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

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

Suggerimento: puoi anche impostare la tua chiave pubblica SSH a livello globale, così verrà automaticamente inclusa in ogni nuovo servizio che creerai. Per farlo, vai sul tuo profilo nel dashboard Stackhero, clicca sulla tua foto profilo in alto a destra, seleziona "Il tuo profilo" e aggiungi la tua chiave pubblica SSH.

Stackhero semplifica il deployment utilizzando la CLI di Git e il familiare comando git push. Non è necessario installare software aggiuntivo: basta configurare il remote Git una sola volta e sei pronto a partire.

Troverai il tuo git remote command nella pagina principale del servizio sul dashboard Stackhero. Avrà un aspetto simile a questo:

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

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

Per indicare a Stackhero come eseguire la tua applicazione, utilizzerai un Makefile nella directory principale del tuo progetto.

Se non hai mai usato file Makefile e il comando make, nessun problema. Segui semplicemente queste istruzioni per iniziare.

Crea un file Makefile nella root del tuo progetto con il seguente contenuto:

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

Alcuni punti importanti su questo Makefile:

  1. La regola run è obbligatoria, perché Stackhero la esegue automaticamente. Non rinominarla.
  2. Il comando gunicorn app:app -b 0.0.0.0:8080 --error-logfile - è solo un esempio. Adattalo alle esigenze della tua applicazione.
  3. Assicurati di iniziare il comando gunicorn con un carattere di tabulazione. Se visualizzi un errore come "*** missing separator", significa che manca la tabulazione.

In questo esempio, Gunicorn viene utilizzato per servire la tua applicazione (assicurati che sia presente nel tuo requirements.txt). L'argomento -b 0.0.0.0:8080 indica che ascolta su tutte le interfacce sulla porta 8080. Se scegli una porta diversa, ricordati di aggiornare anche la configurazione del servizio Python nel dashboard Stackhero. La parte app:app si riferisce all'oggetto app all'interno del file app.py.

Una volta che tutto è configurato, sei pronto per distribuire. Dalla directory del tuo progetto, puoi usare questo comando per inviare il codice a Stackhero:

git push stackhero main

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

Esempio di deployment del codice Python su Stackhero tramite il comando git pushEsempio di deployment del codice Python su Stackhero tramite il comando git push

Per visualizzare la tua applicazione distribuita, vai all'URL "website" indicato nel dashboard Stackhero (di solito ha il formato https://<XXXXXX>.stackhero-network.com).

Ecco fatto, la tua applicazione è ora attiva in produzione.

Hai riscontrato problemi durante la distribuzione?

La sezione Troubleshooting è ricca di soluzioni per aiutarti a risolvere rapidamente qualsiasi problema.

Speriamo che questa guida abbia reso chiaro e accessibile il deployment del tuo codice Python in produzione con Stackhero. Con queste basi, puoi pubblicare i tuoi progetti in modo affidabile.

Se vuoi approfondire, la documentazione "Advanced Deployment Usages" tratta argomenti come il deployment da diversi branch, tag o commit git, la gestione di più ambienti (ad esempio staging e produzione) e l'utilizzo delle variabili d'ambiente.

E ricorda, se incontri difficoltà, la documentazione "Troubleshooting" è sempre disponibile per aiutarti a riprendere rapidamente.