Flussi di lavoro su GitHub: come lavorare con la comoda funzione di GitHub
I flussi di lavoro su GitHub (“workflows” in inglese) estendono le funzionalità di GitHub e vengono creati nella cartella .github/workflows direttamente nel repository da voi scelto. Vi consentono di eseguire azioni automatiche quando si verificano determinati eventi.
Cosa sono i flussi di lavoro su GitHub?
Fondamentalmente, un flusso di lavoro su GitHub non è altro che una raccolta di azioni specifiche, per lo più ricorrenti, che vengono eseguite automaticamente quando si verifica un determinato evento nel repository. Si compone di diversi cosiddetti lavori, a loro volta suddivisi in singoli passaggi. Oltre all’uso basato sugli eventi, i flussi di lavoro possono essere avviati manualmente o eseguiti entro determinati intervalli di tempo. I flussi di lavoro sono una parte essenziale della piattaforma di Continuous Integration, GitHub Actions.
Le azioni che il flusso di lavoro di GitHub include nel dettaglio dipendono interamente dai programmatori. Gli usi più comuni sono il test automatico del codice non appena viene aggiornato nel repository o la notifica ai membri del team quando vengono apportate modifiche al repository.
Se usate GitHub per il vostro progetto web, vale la pena di usare Deploy Now di IONOS per aumentare la produttività. Il flusso di lavoro su GitHub Actions già impostato si occuperà automaticamente della creazione del progetto.
Tutorial per creare flussi di lavoro
Creare un flusso di lavoro su GitHub non è difficile. Vi basta avere una conoscenza di base del linguaggio di programmazione YAML e un repository GitHub in cui eseguire e distribuire il flusso di lavoro. Se utilizzate 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 repository o averne selezionato uno già esistente per il flusso di lavoro su GitHub, fate clic sul pulsante Actions 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”.
Secondo passaggio: scrivere il codice per un flusso di lavoro su GitHub
Una volta creato un nuovo flusso di lavoro, si aprirà automaticamente un nuovo file chiamato main.yml nella cartella .github/workflows. È possibile modificare questo file direttamente su GitHub e aggiungere il codice che desiderate eseguire nel flusso di lavoro. Come indicato nell’estensione del file, questo codice deve essere scritto nel linguaggio di programmazione YAML.
Le azioni specificate nel codice dipendono esclusivamente 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 esattamente il flusso di lavoro su GitHub. A questo scopo si utilizzano le parole chiave “on” e “push”. Queste attivano il flusso di lavoro se il codice è specificato 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, utilizziamo un’azione predefinita di GitHub chiamata “checkout”, la quale assicura che tutto il codice del repository venga scaricato sull’host. Il parametro “fetch-depth” può essere usato per specificare il numero di commit da scaricare. Specificando “0” si assicura che venga scaricata l’intera cronologia 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 specificati in un cosiddetto “Makefile”.
Terzo passaggio: salvare e fare il commit del flusso di lavoro su GitHub
Dopo aver specificato 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 specificato.