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
Creare una custom property in GitHub
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Cancellare una run di un workflow di GitHub
Eseguire script pre e post esecuzione di un workflow di GitHub
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Eseguire i worklow di GitHub su runner potenziati
Anonimizzare i dati sensibili nei log di Azure Front Door
Referenziare un @layer più alto in CSS
Gestire il colore CSS con HWB
Simulare Azure Cosmos DB in locale con Docker
Garantire la provenienza e l'integrità degli artefatti prodotti su GitHub
Managed deployment strategy in Azure DevOps