I flussi di lavoro su GitHub (“workflows” in inglese) estendono le fun­zio­na­li­tà di GitHub e vengono creati nella cartella .github/workflows di­ret­ta­men­te nel re­po­si­to­ry da voi scelto. Vi con­sen­to­no di eseguire azioni au­to­ma­ti­che quando si ve­ri­fi­ca­no de­ter­mi­na­ti eventi.

Cosa sono i flussi di lavoro su GitHub?

Fon­da­men­tal­men­te, un flusso di lavoro su GitHub non è altro che una raccolta di azioni spe­ci­fi­che, per lo più ri­cor­ren­ti, che vengono eseguite au­to­ma­ti­ca­men­te quando si verifica un de­ter­mi­na­to evento nel re­po­si­to­ry. Si compone di diversi co­sid­det­ti lavori, a loro volta suddivisi in singoli passaggi. Oltre all’uso basato sugli eventi, i flussi di lavoro possono essere avviati ma­nual­men­te o eseguiti entro de­ter­mi­na­ti in­ter­val­li di tempo. I flussi di lavoro sono una parte es­sen­zia­le della piat­ta­for­ma di Con­ti­nuous In­te­gra­tion, GitHub Actions.

Le azioni che il flusso di lavoro di GitHub include nel dettaglio dipendono in­te­ra­men­te dai pro­gram­ma­to­ri. Gli usi più comuni sono il test au­to­ma­ti­co del codice non appena viene ag­gior­na­to nel re­po­si­to­ry o la notifica ai membri del team quando vengono apportate modifiche al re­po­si­to­ry.

Consiglio

Se usate GitHub per il vostro progetto web, vale la pena di usare Deploy Now di IONOS per aumentare la pro­dut­ti­vi­tà. Il flusso di lavoro su GitHub Actions già impostato si occuperà au­to­ma­ti­ca­men­te della creazione del progetto.

Tutorial per creare flussi di lavoro

Creare un flusso di lavoro su GitHub non è difficile. Vi basta avere una co­no­scen­za di base del lin­guag­gio di pro­gram­ma­zio­ne YAML e un re­po­si­to­ry GitHub in cui eseguire e di­stri­bui­re il flusso di lavoro. Se uti­liz­za­te un ambiente di sviluppo integrato per scrivere il codice YAML, GitHub Copilot può anche aiutarvi a creare il codice del flusso di lavoro.

Primo passaggio: impostare un flusso di lavoro

Dopo aver creato un re­po­si­to­ry o averne se­le­zio­na­to uno già esistente per il flusso di lavoro su GitHub, fate clic sul pulsante Actions per accedere al menu di GitHub Actions.

Immagine: Repository di GitHub
Se­le­zio­na­te la scheda “Actions” nel re­po­si­to­ry per accedere al menu di GitHub Actions.

Nel menu di GitHub Actions è ora possibile creare un flusso di lavoro. A tal fine, fate clic sul pulsante “set up a workflow yourself”.

Immagine: Menu di GitHub Actions
Nel menu di GitHub Actions è possibile creare un flusso di lavoro su GitHub.

Secondo passaggio: scrivere il codice per un flusso di lavoro su GitHub

Una volta creato un nuovo flusso di lavoro, si aprirà au­to­ma­ti­ca­men­te un nuovo file chiamato main.yml nella cartella .github/workflows. È possibile mo­di­fi­ca­re questo file di­ret­ta­men­te su GitHub e ag­giun­ge­re il codice che de­si­de­ra­te eseguire nel flusso di lavoro. Come indicato nell’esten­sio­ne del file, questo codice deve essere scritto nel lin­guag­gio di pro­gram­ma­zio­ne YAML.

Immagine: Il file main.yml nell’editor di GitHub
Potete mo­di­fi­ca­re il file main.yml di­ret­ta­men­te su GitHub e poi eseguire un commit.

Le azioni spe­ci­fi­ca­te nel codice dipendono esclu­si­va­men­te da voi. Il nostro codice di esempio crea un flusso di lavoro chiamato “example” che viene eseguito ogni volta che c’è un commit nel ramo “main”:

name: example
on:
	push:
		branches: [main]
jobs:
	build:
		runs-on: ubuntu-latest
		steps:
-  uses: actions/checkout@v2
    with:
	fetch-depth: 0
- run: make

In primo luogo, si specifica quando deve essere eseguito esat­ta­men­te il flusso di lavoro su GitHub. A questo scopo si uti­liz­za­no le parole chiave “on” e “push”. Queste attivano il flusso di lavoro se il codice è spe­ci­fi­ca­to dopo la parola chiave “branches”.

Il flusso di lavoro vero e proprio consiste in un lavoro chiamato “build”, che a sua volta è formato da due singoli passaggi e viene eseguito su un host Ubuntu.

Nel primo passaggio, uti­liz­zia­mo un’azione pre­de­fi­ni­ta di GitHub chiamata “checkout”, la quale assicura che tutto il codice del re­po­si­to­ry venga scaricato sull’host. Il parametro “fetch-depth” può essere usato per spe­ci­fi­ca­re il numero di commit da scaricare. Spe­ci­fi­can­do “0” si assicura che venga scaricata l’intera cro­no­lo­gia dei commit del ramo “main”.

Nel secondo passaggio si esegue il comando “make” sull’host. Questo compila e gestisce il codice eseguendo comandi che di solito sono spe­ci­fi­ca­ti in un co­sid­det­to “Makefile”.

Terzo passaggio: salvare e fare il commit del flusso di lavoro su GitHub

Dopo aver spe­ci­fi­ca­to il codice nel flusso di lavoro, dovete solo salvare il file e fare il commit. Da quel momento in poi, il flusso di lavoro verrà eseguito ogni volta che si verifica l’evento spe­ci­fi­ca­to.

Vai al menu prin­ci­pa­le