Quando si lavora nell'enterprise o in aziende che hanno requisiti molti stringenti, è normale avere a che fare con self-hosted agents di Azure DevOps, ovvero virtual machine (o vere e proprie macchine fisiche) che vengono usate per eseguire le pipeline di CI/CD. Differiscono dagli hosted agent perchè non sono forniti da Microsoft e possiamo customizzare tutto il software che è installato sulle macchine, cambiare le performance e così via, al costo chiaramente di dover gestire il tutto internamente (incluso hardware fisico e patching del SO).
Quando si parla di hardware, un esempio concreto che ci si trova a dover gestire può essere lo spazio disponibile su disco. Eseguendo decine, centinaia o migliaia di build al giorno, la quantità di oggetti che vengono salvati sul disco aumenta in modo notevole, talvolta esponenzialmente. Proprio per questo motivo possiamo fare in modo che la pipeline, prima di essere eseguita, faccia un cleanup di tutto quello che era presente precedentemente nella stessa working directory:
jobs: - job: Build ... workspace: clean: all
Questo codice YAML fa uso della keyword workspace che accetta diversi valori per fare pulizia selettiva, oppure all per rimuovere tutto quello generato da una run precedente. Questo è l'equivalente delle clean options che erano impostabili tramite la UI delle classic pipeline:

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
-
Welcome back to .NET
-
Gestire errori temporanei in una comunicazione gRPC con ASP.NET Core 6
-
Velocizzare l'installazione delle dipendenze in un workflow di GitHub
-
Esecuzione a matrici nei workflow di GitHub Action
-
Creare un job summary in una GitHub Action
-
Produttività con ASP.NET Core 6
-
Configurare .NET 6 su Azure Web App con ARM
-
Autenticazione basata su certificati con ASP.NET Core
-
Controllare lo stato di un servizio gRPC in ASP.NET Core tramite Health Check
-
Effettuare un loop di una GitHub Action
-
.NET per sviluppatori AWS
-
Creare velocemente microservice grazie a minimal API di ASP.NET Core 6
I più letti di oggi
- Semplificare la gestione delle eccezioni per parametri non nullable in C#
- devConf 2022 - Online
- Impostare un default custom per i metodi LINQ che tornano il valore di default
- Impostare il tema light o dark utilizzando i CSS
- Utilizzare il metodo reduce in JavaScript
- Gestire eventi di serializzazione e deserializzazione in .NET con System.Text.Json
- Recuperare la data di creazione e ultima modifica di un record con Entity Framework Core e le temporal table di SQL Server
- Usare domini personalizzati con Azure Container App
- Utilizzare l'API del browser fetch