Eseguire le GitHub Actions offline

di Matteo Tumiati, in DevOps,

Chi si approccia per la prima volta al mondo delle GitHub Actions, può trovare una curva di apprendimento piuttosto elevata poichè sono tanti gli strumenti che deve imparare, da git allo YAML, fino alla gestione dell'infrastruttura che manderà in esecuzione il workflow. Inoltre, anche per i più esperti di GitHub è normale spendere molto tempo nel rifinire un workflow e si sa che ci sono spesso molti tempi "morti", poiché tra la scrittura e la verifica della funzionalità del codice YAML scritto, bisogna attendere il completamento del workflow che, talvolta, può richiedere ore.

A questo scopo nasce Act, un tool che consente di emulare il runner di GitHub per poter eseguire e testare le GitHub Actions offline, senza lasciare l'ambiente di sviluppo.

Act può essere installato come estensione della CLI di GitHub, oppure tramite le classiche piattaforme come Homebrew, Scoop, Chocolatey, ecc.:

A questo punto, possiamo entrare nel nostro repository e configurare il primo workflow di GitHub:

cd my-repo
mkdir -p .github/workflows
touch .github/workflows/my-workflow.yml

Possiamo quindi aprire il workflow e iniziare a scrivere del codice per simulare una prima esecuzione:

name: My Workflow
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - name: Print Hello
      run: echo "Hello, ASPItalia.com!"

In questo caso il codice è molto basico per dimostrare le funzionalità dello strumento e, infatti, andremo solamente a stampare sulla console il testo "Hello, ASPItalia.com!". Chiaramente, questo codice varierà in base a ciascun processo che dovremo automatizzare.

Non ci resta che mettere in esecuzione il workflow offline con Act:

gh act

Al primo avvio ci verrà chiesto di scaricare l'immagine del Docker container che verrà messo in esecuzione per emulare l'esecuzione del runner di GitHub. Una volta scaricato, il tool farà l'accesso al remote e scaricherà le ref necessarie per eseguire il workflow e, infine, vedremo stampato a schermo quello che ci aspettiamo.

Sebbene emuli abbastanza bene il comportamento che avremmo sui runner hosted di GitHub, è chiaro che anche Act ha un certo numero di limitazioni, principalmente dovute al fatto che è ancora agli albori dello sviluppo, ma è molto promettente ed è di grande aiuto per chi si approccia per la prima volta al mondo delle GitHub Actions. Maggiori informazioni su Act sono disponibili sul repository di GitHub: https://github.com/nektos/act

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi