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
Generare velocemente pagine CRUD in Blazor con QuickGrid
Selettore CSS :has() e i suoi casi d'uso avanzati
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Usare il colore CSS per migliorare lo stile della pagina
Recuperare l'ultima versione di una release di GitHub
Il nuovo controllo Range di Blazor 9
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Creare una libreria CSS universale: i bottoni
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework