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.:
gh extension install https://github.com/nektos/gh-act
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
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
.NET Conference Italia 2024
Utilizzare Intersect e Except per filtrare set di dati in TSql
Simulare Azure Cosmos DB in locale con Docker
Escludere alcuni file da GitHub Secret Scanning
Applicare un filtro per recuperare alcune issue di GitHub
Utilizzare Container Queries nominali
Rendere le variabili read-only in una pipeline di Azure DevOps
Triggerare una pipeline su un altro repository di Azure DevOps
Managed deployment strategy in Azure DevOps
I più letti di oggi
- Speciale Visual Studio 2013 e .NET Framework 4.5.1: One ASP.NET, Windows 8.1, Entity Framework 6
- Visual Studio Team Foundation Beta 3 con GO! Live License
- Leggere il valore di un header della richiesta in ASP.NET Core 6
- Ricavare l'indirizzo completo della pagina che esegue lo script
- Real Code Birthday: 10 anni! - Roma