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
Prerequisiti
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 browser
Passaggi per distribuire su Stackhero
La distribuzione della tua applicazione Python su Stackhero è pensata per essere semplice e senza intoppi. Ecco come procedere:
- Crea un servizio Python su Stackhero.
- Aggiungi la tua chiave pubblica SSH alla configurazione del servizio Python.
- Configura il comando
git pushsulla tua piattaforma di sviluppo. - Aggiungi un Makefile al tuo progetto.
- 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.
Configurazione del servizio "Stackhero for Python"
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:
- Apri il dashboard Stackhero e seleziona il tuo servizio Python.
- Clicca sul pulsante "Configura".
- Incolla la tua chiave pubblica SSH nella sezione "Chiavi pubbliche SSH".
Esempio 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.
Configurazione del comando git push per la distribuzione
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 Stackhero
Creazione di un Makefile per il deployment su 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
Makefilee il comandomake, 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:
- La regola
runè obbligatoria, perché Stackhero la esegue automaticamente. Non rinominarla. - Il comando
gunicorn app:app -b 0.0.0.0:8080 --error-logfile -è solo un esempio. Adattalo alle esigenze della tua applicazione. - 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.
Distribuire la tua applicazione Python
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 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.
Conclusione
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.