Come attivare le azioni GitHub in remoto utilizzando i webhook

Di Redazione FinanzaNews24 5 minuti di lettura
come-attivare-le-azioni-github-in-remoto-utilizzando-i-webhook

GitHub Actions è un servizio CI/CD che può eseguire build e test sulla codebase del tuo progetto. Di solito, le azioni vengono attivate automaticamente su nuovi commit, ma possono anche essere avviate in remoto utilizzando le notifiche webhook.

Perché utilizzare i webhook? Le build di azioni vengono attivate in base agli eventi nel repository. In genere, ciò significa eseguire build e test ogni volta che viene effettuato un nuovo commit, rilascio con tag o richiesta pull. Poiché questo è il modo principale in cui il tuo codice cambierà, copre la maggior parte dei casi.

Tuttavia, se fai affidamento su altre versioni software come dipendenze, è abbastanza comune richiedere build regolari anche se il codice non cambia. Poiché GitHub non sa quando le tue dipendenze ricevono gli aggiornamenti, dovrai inviare manualmente una nuova versione con tag o riavviare la build precedente per ricostruire con la dipendenza aggiornata.

I webhook sono un modo per gestirlo automaticamente facendo in modo che un’applicazione esterna parli con GitHub per attivare una nuova build. I webhook possono essere facilmente inviati da qualsiasi applicazione in grado di effettuare richieste HTTP, che include qualsiasi linguaggio di programmazione ma anche strumenti da riga di comando come curl.

Un altro caso d’uso comune è la generazione di siti statici. Quadri come Gatsby richiedono che il sito venga ricostruito ogni volta che il contenuto cambia. Questo viene spesso fatto manualmente, ma può essere automatizzato dai servizi di gestione dei contenuti utilizzando i webhook.

Ti consigliamo di controllare per assicurarti che qualunque cosa tu stia facendo non possa essere eseguita con i trigger di azioni GitHub esistenti. C’è un quantità sorprendente di trigger incorporati di cui puoi leggere su GitHub Wiki. Ad esempio, puoi impostare una pianificazione per eseguire build basate sulla sintassi di cronche può coprire le tue esigenze se hai bisogno di build regolari in un momento specifico.

Impostazione di un trigger webhook per azioni Github Innanzitutto, assicurati che il tuo flusso di lavoro GitHub Actions sia configurato correttamente e funzioni correttamente senza il webhook. Questo dipenderà interamente dalla tua base di codice, ma GitHub ha molti modelli predefiniti e puoi farlo leggi la nostra guida sull’impostazione di un flusso di lavoro per saperne di più.

IMPARENTATO: Come utilizzare le azioni Github per automatizzare le build del repository

Il trigger che useremo per eseguire azioni dai webhook è repository_dispatchutilizzato per i webhook esterni.

Innanzitutto, ti consigliamo di aggiungere il trigger alla sezione “On” del file del flusso di lavoro. Questo non deve sostituire gli altri trigger, quindi puoi ancora avere questo flusso di lavoro in esecuzione sia su commit che su webhook.

IL repository_dispatch trigger può accettare un parametro del tipo di evento facoltativo, che può essere utilizzato per filtrare tra diversi webhook se si desidera che un singolo repository accetti più webhook.

Questo è tutto ciò che serve da parte di GitHub e ora possiamo inviare il webhook. Il formato dell’URL è il seguente e accetta solo richieste POST:

https://api.github.com/repos/{username}/{repo}/dispatches Una cosa che dovrai impostare è l’intestazione di autorizzazione. Questo è fastidioso, ma ha perfettamente senso, altrimenti chiunque potrebbe inviare notifiche webhook al tuo repository.

“Accept”: “application/vnd.github+json” “Authorization”: “token {personal_access_token}” Infine, dovrai impostare il event_type con un corpo JSON sulla richiesta:

{ “event_type”:”dependency_update” } Puoi generare un token di accesso personale dalle impostazioni personali o dell’organizzazione. Vai alle impostazioni, fai clic su “Impostazioni sviluppatore” e genera un nuovo token. Questo token avrà bisogno dell’autorizzazione per accedere al repository e alle sue azioni.

Una volta ottenuto il token, puoi inviare webhook autorizzati. È utile utilizzare uno strumento di debug dell’API come Postino o curl per verificare se funziona; se il webhook va a buon fine, riceverai una risposta 204 Nessun contenuto e vedrai il flusso di lavoro eseguito nella scheda Azioni, con il tipo di evento utilizzato come titolo.

Una volta che il webhook funziona, dovrai configurare la tua applicazione esterna per usarlo e collegare completamente il tuo flusso di lavoro.

Condividi questo articolo
Exit mobile version