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.

👋 Benvenuti nella documentazione di Stackhero!

Stackhero offre una soluzione PHP cloud pronta all'uso che fornisce una serie di 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 PHP cloud hosting di Stackhero!

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.