La piat­ta­for­ma GitHub Actions di Con­ti­nuous In­te­gra­tion vi consente di au­to­ma­tiz­za­re varie azioni. Il vantaggio è quello di non dover più occuparsi ma­nual­men­te di attività ri­pe­ti­ti­ve e di poter dedicare più tempo al progetto vero e proprio.

Cos’è GitHub Actions?

GitHub Actions è la piat­ta­for­ma di GitHub per la Con­ti­nuous In­te­gra­tion e la Con­ti­nuous Delivery. Consente agli utenti di au­to­ma­tiz­za­re i re­po­si­to­ry e di creare i co­sid­det­ti flussi di lavoro GitHub. Ad esempio, la com­pi­la­zio­ne di nuovo codice o l’ese­cu­zio­ne di test di unità relativi al progetto avviene per im­po­sta­zio­ne pre­de­fi­ni­ta quando il codice viene ag­gior­na­to nel re­po­si­to­ry GitHub.

Come funziona GitHub Actions?

GitHub Actions si basa sui vostri flussi di lavoro GitHub. All’interno dei flussi di lavoro, è possibile reagire a vari eventi, come le richieste push, e attivare le azioni cor­ri­spon­den­ti in base agli eventi. Il flusso di lavoro stesso consiste in diversi jobs (lavori), ognuno dei quali viene eseguito in una macchina virtuale o all’interno di un con­te­ni­to­re. GitHub supporta le macchine virtuali Linux, Windows e macOS.

Consiglio

Se volete di­stri­bui­re di­ret­ta­men­te i vostri progetti e siti web, la soluzione ideale è Deploy Now di IONOS. Per­so­na­liz­za­te così i flussi di lavoro au­to­ma­ti­ci di GitHub in qualsiasi momento.

I com­po­nen­ti più im­por­tan­ti di GitHub Actions

Flussi di lavoro

Un flusso di lavoro GitHub, co­no­sciu­to anche come “workflow”, è l’elemento centrale di GitHub Actions. Con un questo elemento, che in realtà non è altro che un file YAML, spe­ci­fi­ca­te le azioni da in­tra­pren­de­re quando si ve­ri­fi­ca­no de­ter­mi­na­ti eventi. Ma non sono solo gli eventi a poter innescare i flussi di lavoro: è anche possibile as­si­cu­rar­si ma­nual­men­te che il flusso di lavoro venga eseguito o persino impostare date fisse uti­liz­zan­do la pia­ni­fi­ca­zio­ne. Quindi ogni flusso di lavoro di GitHub avvia uno o più lavori (jobs). Non è ne­ces­sa­rio limitarsi a un solo flusso di lavoro per re­po­si­to­ry, ma è possibile definire un numero qualsiasi di flussi di lavoro per il proprio re­po­si­to­ry GitHub.

Eventi

Come già men­zio­na­to, i flussi di lavoro sono spesso attivati da eventi, co­no­sciu­ti anche come “events”. Si tratta di un’azione specifica nel re­po­si­to­ry GitHub che attiva l’ese­cu­zio­ne di un flusso di lavoro. Un esempio comune di evento GitHub è una richiesta pull. Tuttavia, sono in­nu­me­re­vo­li gli eventi a cui potete ricorrere. Un elenco completo è di­spo­ni­bi­le nella do­cu­men­ta­zio­ne di GitHub.

Azioni

GitHub Actions dà il nome alle co­sid­det­te azioni, centrali per la piat­ta­for­ma. Un’azione è un’ap­pli­ca­zio­ne GitHub in­di­vi­dua­le che esegue compiti complessi frequenti. Possono essere uti­liz­za­ti in modo simile alle funzioni all’interno dei file del flusso di lavoro per evitare codice ri­pe­ti­ti­vo. Se non volete scrivere le vostre azioni GitHub, potete trovare una serie di azioni pre­de­fi­ni­te nel relativo Mar­ket­pla­ce.

Passi

I passi, co­no­sciu­ti anche come “steps”, sono com­po­nen­ti in­di­vi­dua­li dei lavori. Sono co­sti­tui­ti da script di shell che vengono eseguiti o da un’azione che viene avviata. Vengono elaborati nell’ordine in cui sono stati definiti. Inoltre, i diversi passi si basano l’uno sull’altro e possono scambiare dati tra loro.

Lavori

Un lavoro, chiamato anche “job”, non è altro che una sequenza di passi eseguiti su un co­sid­det­to runner. Sebbene i lavori siano in­di­pen­den­ti di per sé, avete la pos­si­bi­li­tà di creare ma­nual­men­te delle di­pen­den­ze tra i singoli lavori. In questo modo un lavoro deve attendere tutti i lavori da cui dipende. Questo in­ter­rom­pe la normale ese­cu­zio­ne parallela di diversi lavori.

Runner

Un runner è il server su cui vengono eseguiti i flussi di lavoro. Ogni runner può eseguire esat­ta­men­te un lavoro alla volta. Fon­da­men­tal­men­te sono quindi macchine virtuali. I sistemi operativi sup­por­ta­ti da GitHub sono Linux Ubuntu, Windows e macOS. Se avete bisogno di un sistema operativo diverso per testare i vostri progetti, potete ov­via­men­te ospitare i vostri runner.

Vantaggi di GitHub Actions

Oltre al fatto che potete integrare per­fet­ta­men­te GitHub Actions nel vostro lavoro con GitHub, il servizio di Con­ti­nuous In­te­gra­tion offre una serie di altri vantaggi. Ad esempio, è possibile uti­liz­za­re modelli pre­de­fi­ni­ti e non è ne­ces­sa­rio uti­liz­za­re per forza i propri flussi di lavoro. Inoltre, il servizio GitHub è com­ple­ta­men­te gratuito per i vostri re­po­si­to­ry pubblici. Per i re­po­si­to­ry privati, GitHub mette a di­spo­si­zio­ne 2.000 minuti al mese per i flussi di lavoro ospitati.

Vai al menu prin­ci­pa­le