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 le performance delle collection con le classi FrozenSet e FrozenDictionary
Effettuare il binding di date in Blazor
Aggiungere interattività lato server in Blazor 8
Code scanning e advanced security con Azure DevOps
Eseguire script pre e post esecuzione di un workflow di GitHub
Miglioramenti nell'accessibilità con Angular CDK
Generare velocemente pagine CRUD in Blazor con QuickGrid
Miglioramenti agli screen reader e al contrasto in Angular
Generare la software bill of material (SBOM) in GitHub
Gestire i dati con Azure Cosmos DB Data Explorer
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Gestire domini wildcard in Azure Container Apps