Python: Configurare il workflow di GitHub Actions

Questa documentazione fa parte della guida Distribuire con GitHub Actions. Consulta la guida completa qui: Come distribuire il proprio codice Python utilizzando GitHub Actions.

👋 Benvenuto nella documentazione di Stackhero!

Stackhero offre una soluzione Python cloud pronta all'uso, progettata per semplificare il processo di deployment:

  • Distribuisci la tua applicazione in produzione in pochi secondi con un semplice git push.
  • Utilizza il tuo nome di dominio, con configurazione automatica del certificato HTTPS per connessioni sicure gestite direttamente da noi.
  • Affidati a backup automatici, aggiornamenti con un clic e prezzi prevedibili, così puoi concentrarti sul tuo codice invece che sulla gestione dell'infrastruttura.
  • Approfitta di elevate prestazioni e sicurezza su un'infrastruttura privata e dedicata. Il tuo ambiente è isolato e protetto.

Risparmia tempo e semplifica il tuo workflow: il tuo codice può essere operativo con il Python cloud hosting di Stackhero in soli 5 minuti.

Nel vostro repository Git, create una cartella chiamata .github/workflows se non esiste già. Poi aggiungete al suo interno un file chiamato deploy-to-stackhero.yml.

# File: .github/workflows/deploy-to-stackhero.yml

name: Deploy to Stackhero
run-name: Deploy branch "${{ github.ref_name }}" to Stackhero

on:
  push:
    # Elenco dei branch che attiveranno l'azione di deploy dopo un git push.
    # Non dimenticate di creare un ambiente corrispondente al nome del branch su GitHub (in "Settings"/"Environments").
    # Poi aggiungete il secret corrispondente "STACKHERO_SSH_PRIVATE_KEY" e la variabile "STACKHERO_ENDPOINT" in quell'ambiente.
    branches: [ "production", "staging" ]

jobs:
  Deploy:
    environment: ${{ github.ref_name }}
    runs-on: ubuntu-latest
    steps:
    - uses: stackhero-io/github-actions-deploy-to-stackhero@v1
      with:
        # Il secret "STACKHERO_SSH_PRIVATE_KEY" e la variabile "STACKHERO_ENDPOINT" devono essere definiti nell'ambiente branch corrispondente su GitHub in "Settings"/"Environments".
        ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}

Una volta aggiunto il file workflow, potete effettuare il commit delle modifiche:

git add -A .
git commit -m "Aggiungi GitHub Actions per il deploy su Stackhero"

Potete creare un branch production con:

git checkout -b production

E inviare le modifiche su GitHub:

git push --set-upstream origin production

Questo invierà il vostro codice al branch production su GitHub e attiverà GitHub Actions, che distribuirà il codice sulla vostra istanza Stackhero.

Per verificare lo stato del deployment, visitate semplicemente la pagina del vostro progetto GitHub e cliccate su Actions.

GitHub Actions che ha distribuito in produzioneGitHub Actions che ha distribuito in produzione

Ecco fatto. Ora avete il deployment automatico in produzione tramite GitHub Actions.