In alcuni scenari potrebbe essere necessario dover fermare una build in corso. Alcuni esempi comprendono l'esecuzione in batch di determinati commit, tag di skip applicati dinamicamente sui commit, test di integrazione che falliscono, piuttosto che pipeline triggerate come risorse che hanno terminato la loro esecuzione con stato di failure e così via.
Purtroppo, non è possibile, secondo la documentazione, cancellare una build in corso. Tuttavia, c'è un workaround che consente di aggiornare lo stato della build sfruttando l'endpoint delle builds, come abbiamo visto negli script precedenti:
$uri = "https://dev.azure.com/$env:ORGANIZATION_NAME/$env:PROJECT_NAME/_apis/build/builds/$env:BUILD_ID?api-version=5.1" $json = @{ status = "Cancelling" } | ConvertTo-Json -Compress Invoke-RestMethod -Uri $uri -Method Patch -Headers @{Authorization = "Bearer $(System.AccessToken)"} -ContentType "application/json" -Body $json
Il trucco sta nell'aggiornare la build (identificata dalla variabile d'ambiente BUILD_ID) tramite chiamata REST, impostando tra le sue proprietà lo stato Cancelling. Una volta inviato il comando, la pipeline verrà terminata esattamente come quando procediamo manualmente all'operazione di cancellazione.
E' bene però sottolineare nuovamente che si tratta di un workaround e che, pertanto, questo esempio di codice potrebbe non funzionare più in futuro.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Gestire domini wildcard in Azure Container Apps
Short-circuiting della Pipeline in ASP.NET Core
Definire stili a livello di libreria in Angular
Eseguire query verso tipi non mappati in Entity Framework Core
Utilizzare domini personalizzati gestiti automaticamente con Azure Container Apps
Eseguire operazioni sui blob con Azure Storage Actions
Installare le Web App site extension tramite una pipeline di Azure DevOps
Elencare le container images installate in un cluster di Kubernetes
Eseguire una query su SQL Azure tramite un workflow di GitHub
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Copiare automaticamente le secret tra più repository di GitHub
I più letti di oggi
- Riordinare le righe di una GridView di ASP.NET con jQuery
- Creazione di un alarm con suono personalizzato con Windows Phone 7.1
- Utilizzare la session affinity con Azure Container Apps
- Blue-green deployment con Azure Web App e DevOps
- Ed infine anche il calendario :)
- Configurare la diagnostica di Azure attraverso Visual Studio
- Recuperare la data di creazione di un tag tramite una pipeline YAML di Azure DevOps
- Microsoft Security Bulletin MS05-002
- .NET Core e dispositivi IoT
- Eseguire attività pianificate con Azure Container Jobs