In un recentissimo aggiornamento di Azure DevOps, al momento della scrittura di questo articolo, ancora in fase di rilascio worldwide, i nuovi agent di tipo ubuntu-latest hanno preso di fatto la versione ubuntu-24.04. Sebbene questa sia una operazione che viene fatta di norma, ogni volta che viene rilasciata una nuova versione degli agent e sono dichiarati "stable", questa volta la differenza è importante poichè con questa nuova versione sono stati rimossi alcuni software dall'agent che impattano gli sviluppatori Azure e .NET.
Infatti, Terraform e Mono non sono più installati di default in questa nuova versione. Se le nostre pipeline sono configurate per essere eseguite su 'ubuntu-latest' e usano un task fra MSBuild@1, NuGetCommand@2, Terraform o un qualsiasi script bash/powershell che fa riferimento a questi tool, è molto probabile che le nostre pipeline falliscano.
Le soluzioni in questo momento sono due. La prima, più semplice, è quella di fissare nelle nostre pipeline l'agent su una versione più "vecchia" di ubuntu, ad esempio ubuntu-22.04, quanto meno fino a quando non avremo avuto modo di testare le nostre pipeline e verificare che non ci siano problemi.
pool: vmImage: 'ubuntu-22.04'
La seconda è quella di installare i tool che ci servono manualmente come step della pipeline, come per esempio:
- pwsh: sudo apt install mono-devel -y displayName: Install Mono
Bisogna prestare particolare attenzione perchè lo stesso behavior è applicato anche ai workflow di GitHub, in quanto condividono la stessa infrastruttura per quanto riguarda gli hosted-runners.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migliorare la sicurezza dei prompt con Azure AI Studio
Eliminare una project wiki di Azure DevOps
Utilizzare Azure AI Studio per testare i modelli AI
Generare la software bill of material (SBOM) in GitHub
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Migliorare i tempi di risposta di GPT tramite lo streaming endpoint in ASP.NET Core
Utilizzare WhenEach per processare i risultati di una lista di task
Eseguire script pre e post esecuzione di un workflow di GitHub
Eseguire query in contemporanea con EF
Creare un webhook in Azure DevOps
Creare una libreria CSS universale - Rotazione degli elementi
Ordinare randomicamente una lista in C#