ThunderHosting

Deploy a ogni push con un webhook

Collega GitHub, GitLab, Gitea o Forgejo in modo che ogni push sul tuo branch esegua il deploy dell'app.

Con un webhook ogni push sul tuo branch esegue il deploy dell'app da solo: Dash scarica il codice e riavvia l'app.

1. Copia URL e secret

Apri la scheda Deploy dell'app. Salva prima il repository; poi la scheda Webhook mostra l'URL del payload e il secret. Lascia attivo «Deploy a ogni push».

GitHub

  1. Nel repository: Settings → Webhooks → Add webhook.
  2. Payload URL: l'URL di Dash. Content type: application/json.
  3. Secret: il secret di Dash.
  4. Scegli «Just the push event» e clicca su Add webhook. GitHub invia un ping di prova; risulta consegnato.

GitLab

  1. Nel progetto: Settings → Webhooks → Add new webhook.
  2. URL: l'URL di Dash. Secret token: il secret di Dash.
  3. Trigger: Push events, poi clicca su Add webhook.

Gitea e Forgejo

  1. Nel repository: Settings → Webhooks → Add webhook → Gitea (o Forgejo).
  2. Target URL: l'URL di Dash, content type application/json, secret: il secret di Dash.
  3. Attiva sugli eventi push e salva.

Altri servizi

Qualsiasi servizio o script può eseguire il deploy inviando una richiesta POST con il secret nell'header X-Deploy-Token:

bash
curl -X POST "WEBHOOK_URL" \
  -H "X-Deploy-Token: YOUR_SECRET" \
  -H "Content-Type: application/json" \
  -d '{"ref":"refs/heads/main"}'

Tratta il secret come una password. Se viene divulgato, clicca su Nuovo secret del webhook nella scheda Deploy e aggiorna il webhook nel repository.

Cosa succede a ogni push

  • Solo i push sul branch configurato eseguono il deploy; altri branch ed eventi vengono ignorati.
  • Push ravvicinati vengono riuniti in un solo deploy.
  • Un piano gratuito in pausa non esegue deploy finché non lo confermi.
  • La cronologia nella scheda Deploy mostra ogni deploy con commit, messaggio e log.