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.

👋 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!

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.