Procedendo sulla scia di quanto mostrato nello script precedente in riferimento ai logging commands di Azure DevOps, ovvero i comandi speciali che possiamo impartire all'agent che esegue le pipeline per creare un logging avanzato, vediamo oggi la possibilità di mostrare il progresso di un task che richiede un lungo lasso di tempo per essere completati.
Esattamente come avviene, ad esempio, negli installer di qualche applicazione, possiamo mostrare una percentuale di avanzamento/completamento all'interno dei log della pipeline.
Write-Host "Processo molto lungo che deve essere eseguito..."
$i=0
While ($i -le 100)
{
Start-Sleep 1
Write-Host "##vso[task.setprogress value=$i;]Progresso..."
$i += 10
}
Write-Host "Processo completato."Nell'esempio possiamo notare come abbiamo simulato l'esecuzione di un lungo processo semplicemente tramite un ciclo while e un timer di un secondo che forza la pausa del processo. L'idea è quella di mostrare un avanzamento del 10% ad ogni giro del ciclo, così da far capire a chi guarda i log della pipeline a che punto si trova l'esecuzione del task stesso. Per fare questo, è stato aggiunto il Write-Host con la property task.setprogress che prende un valore intero indicante la percentuale di completamento.
Questo valore non viene in realtà stampato direttamente nei log, come si potrebbe pensare. Al contrario, questo valore sostituirà il tempo di esecuzione mostrato a fianco del nome del task, solamente per il fragente di tempo per il quale il processo è in corso.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Introduzione a GitHub Copilot CLI
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Disabilitare la telemetria nella CLI di GitHub
Integrare modelli AI in un workflow di GitHub
Eseguire i pre-commit hook di git con dependabot
Esporre tool MCP da API REST con Azure App Service
Effettuare un clone parziale di un repository di GitHub
Gestione opzioni colonna nella Blazor QuickGrid
Gestione delle scrollbar dinamiche in HTML e CSS
Blazor e Static Web Assets in .NET 10
Pubblicare un MCP Server in GitHub MCP Registry
Ricerca delle GitHub issue tramite operatori logici
I più letti di oggi
- Versione del .NET Reflector per Whidbey
- Gestire valori null nelle espressioni di binding con TargetNullValue in Silverlight 4.0
- Prima beta di XNA Express: scrivere giochi per XBOX 360 con il .NET Framework
- Leggere una smart Card direttamente nel browser con Silverlight 5.0
- Wrox di nuovo sulla breccia?
- E' ufficiale: Whidbey e Yukon nel 2005
- .NET Framework 2.0 Code Coverage Edition per la compatibilità con la 1.x
- Gli oggetti CallOut di Expression Blend 4.0
- Gestione del routing con AngularJS
- Conoscere l'URL del sito web dal quale si è installata un'applicazione OOB Silverlight 4.0


