La telemetria è una implementazione fondamentale per sapere se le nostre applicazioni, servizi o altro, stanno funzionando come si deve. Per questo è altrettanto utile integrarla nei nostri workflow di GitHub, perchè così possiamo sapere, per esempio esportandoci dei dati in tool di analisi come Power BI, quanti dei job eseguiti sono falliti, quanti sono completati con successo, il numero di esecuzioni per workflow, il tempo medio di esecuzione e così via, utile anche per stimare i costi e le varie ottimizzazioni da eseguire.
Purtroppo, al momento, in GitHub non è previsto alcun strumento di telemetria out-of-the-box. Tuttavia, se eseguiamo i nostri workflow su runner self-hosted (quindi quelli gestiti da noi), possiamo iniettare alcuni script pre/post esecuzione dei job, così da poter eseguire la nostra logica custom.
Ci sono solamente due requisiti. Il primo consiste nel creare a priori lo script da eseguire e di caricarlo nel self-hosted runner in una qualsiasi folder (ad eccezione di quella del runner), il secondo è l'impostazione delle variabili ACTIONS_RUNNER_HOOK_JOB_STARTED o ACTIONS_RUNNER_HOOK_JOB_COMPLETED a seconda di quando lo script custom deve girare (prima che il job inizi, oppure terminata la sua esecuzione).
ACTIONS_RUNNER_HOOK_JOB_STARTED=/opt/runner/cleanup_script.sh
Non è previsto alcun timeout di default, quindi l'esecuzione andrà avanti all'infinito qualora ci fossero dei problemi e non fosse prevista lato nostro una terminazione forzata, con tutte le conseguenze del caso (job in pending, runner occupato, utenti bloccati, ecc).
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Gestione dei codeowners in GitHub
GitHub Copilot CLI in ambienti offline
Analizzare il contenuto di una issue con GitHub Models e AI
Agentic Workflows in GitHub
How to be a DevOps engineer in the AI era
Gestione dei prompt file a livello di organizzazione aziendale in GitHub
Evitare la compressione degli artefatti in un workflow di GitHub
From Data to Insight: Exploratory Data Analysis with Python, VS Code and SQL MCP Server
Integrare modelli AI in un workflow di GitHub
Effettuare la ricerca di testo nascosto in una pagina web con Javascript
Gestire gli errori nelle Promise JavaScript con try()


