I log sono un modo intelligente di comunicare con l'agent che esegue le nostre pipeline. Ci permettono infatti non solo di leggere ciò che succede a livello della pipeline stessa, per capire l'output dei task che stiamo eseguendo, ma consentono anche di interagire ed impartire ordini agli agent stessi. Il meccanismo di logging di Azure DevOps, infatti, è un po' complesso e oltre al classico messaggio di testo scritto tramite echo o Write-Host, possiamo impartire degli ordini nel formato seguente:
##vso[area.action property1=value;property2=value;...]message
Se vogliamo, ad esempio, cambiare solamente la formattazione come vedremo a breve, possiamo usare la sintassi semplificata:
##[command]message
Questo messaggio infatti verrà interpretato come una banale stringa in uno script di PowerShell/Bash eseguito localmente, mentre in Azure DevOps verrà interpretato per eseguire il comando specificato. Tra i comandi disponibili troviamo:
##[group]Beginning of a group ##<div class="warning">Warning message ##[error]Error message ##[section]Start of a section ##[debug]Debug text ##[command]Command-line being run ##[endgroup]
Il primo comando, [group] viene usato per creare una sezione collassabile e deve essere seguito dal tag [endgroup] per identificare la chiusura della sezione, mentre i più classici, ovvero warning ed error possono essere utilizzati per mostrare messaggi, appunto, di warning (scritti in giallo) oppure errori (scritti in rosso) nella pipeline.
Il risultato di questi comandi è visibile nello screenshot:
Come si può vedere facilmente, questi log con formattazione consentono una lettura molto più efficiente ed immediata di eventuali errori o note che poi, ad esempio, vengono visualizzate anche nel summary della build stessa, rendendo l'esperienza di debugging molto più semplice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Routing statico e PreRendering in una Blazor Web App
Eseguire una query su SQL Azure tramite un workflow di GitHub
Hosting di componenti WebAssembly in un'applicazione Blazor static
Miglioramenti nelle performance di Angular 16
Utilizzare l'operatore GroupBy come ultima istruzione di una query LINQ in Entity Framework
Utilizzare il trigger SQL con le Azure Function
Migrare una service connection a workload identity federation in Azure DevOps
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Semplificare il deployment di siti statici con Azure Static Web App
Evitare la command injection in un workflow di GitHub
Creare moduli CSS in React
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- Ottimizzazione dei block template in Angular 17
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!