Identificare i componenti di GitHub Actions
In questo articolo vengono illustrati i componenti di base di un file del flusso di GitHub Actions.
Componenti di GitHub Actions
Per l'esecuzione di attività o processi in un flusso di lavoro di GitHub Actions è necessaria l'interazione di vari componenti. In breve, un evento attiva il flusso di lavoro, che contiene un processo, il quale a sua volta prevede una serie di passaggi che consentono di determinare le azioni da eseguire nel flusso di lavoro. Per comprendere meglio le modalità di interazione di questi componenti, si esamineranno ora uno ad uno.
Flussi di lavoro
Un flusso di lavoro è un processo automatizzato che è possibile aggiungere a un repository. Deve contenere almeno un processo e può essere attivato da diversi eventi. Può essere usato, ad esempio, per compilare, testare, rilasciare, distribuire o creare un pacchetto di un progetto del repository in GitHub.
Processi
Il processo è il primo componente principale del flusso di lavoro. Un processo è una sezione del flusso di lavoro che verrà associata a uno strumento di esecuzione. Uno strumento di esecuzione può essere ospitato in GitHub o self-hosted e il processo può essere eseguito in un computer o in un contenitore. Lo strumento di esecuzione viene specificato con l'attributo runs-on:
. In questo caso si indica al flusso di lavoro di eseguire il processo in ubuntu-latest
. Gli strumenti di esecuzione verranno illustrati meglio nella prossima unità.
Passaggi
Un passaggio è una singola attività in grado di eseguire comandi in un processo. Nell'esempio precedentemente il passaggio usa l'azione actions/checkout@v2
per eseguire il checkout del repository. L'aspetto interessante è il valore uses: ./action-a
. Si tratta del percorso dell'azione del contenitore compilata in un file action.yml
.
Azioni
Le azioni di un flusso di lavoro sono costituite dai singoli comandi eseguiti. Questi comandi autonomi possono fare riferimento ad azioni di GitHub, ad esempio azioni personalizzate, o ad azioni della community come quella usata nell'esempio precedente, actions/checkout@v2
. È anche possibile eseguire comandi come run: npm install -g bats
per eseguire un comando tramite lo strumento di esecuzione.