PHP: Configurare il workflow GitHub Actions

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

👋 Benvenuto nella documentazione di Stackhero!

Stackhero offre una piattaforma PHP cloud progettata per deployment rapidi e affidabili:

  • Distribuisci la tua applicazione PHP in produzione in pochi secondi con un semplice git push.
  • Usa il tuo dominio personale, con certificati HTTPS automatici configurati per te. Non sono necessari passaggi manuali.
  • Affidati a backup automatici, aggiornamenti con un clic e prezzi chiari e prevedibili. Stackhero si occupa di questi dettagli, così puoi concentrarti sul tuo codice.
  • Approfitta di elevate prestazioni e sicurezza su un'infrastruttura privata e dedicata, costruita appositamente per le tue applicazioni.

Rendi il tuo workflow più fluido e risparmia tempo. Iniziare con il PHP cloud hosting di Stackhero richiede solo pochi minuti.

Ora configurerai un file di workflow GitHub Actions per automatizzare i deployment. All'interno del tuo repository Git, crea una directory chiamata .github/workflows e aggiungi un file chiamato deploy-to-stackhero.yml con il seguente contenuto:

# 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
    # Ricorda di creare un ambiente corrispondente in GitHub (in "Settings" -> "Environments") per ogni branch
    # Poi aggiungi il secret "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 GitHub corrispondente (in "Settings" -> "Environments")
        ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}

Dopo aver aggiunto questo file, puoi effettuare il commit delle modifiche eseguendo questi comandi nel terminale:

git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"

Per creare il branch production, puoi eseguire:

git checkout -b production

Poi esegui il push delle modifiche su GitHub:

git push --set-upstream origin production

Questo comando invierà il codice al branch production su GitHub. GitHub Actions eseguirà automaticamente il workflow e distribuirà il codice sull'istanza Stackhero associata. Per verificare lo stato del deployment, puoi visitare il tuo progetto GitHub e cliccare su Actions.

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

Congratulazioni! Il tuo progetto è ora configurato per il deployment automatico in produzione tramite GitHub Actions.