Aggiornamento di Azure Pipelines - Sprint 187
Funzionalità
- Modifica dei criteri di preinstallazione di .NET SDK negli agenti Ubuntu ospitati da Microsoft
- Autorizzazioni e controlli sui gruppi di variabili e sui file sicuri
- Anteprima del supporto dei modelli nell'editor YAML
- Ubuntu-16.04 verrà rimosso dai pool ospitati da Microsoft a settembre 2021
Modifica dei criteri di preinstallazione di .NET SDK negli agenti Ubuntu ospitati da Microsoft
Stiamo modificando le versioni di .NET SDK preinstallate negli agenti Ubuntu ospitati da Microsoft. Attualmente vengono installate tutte le versioni disponibili e supportate di .NET SDK (2.1.x, 3.1.x, 5.0.x). Questo approccio verrà modificato a favore dell'installazione della versione più recente della patch per ogni versione della funzionalità. Questa modifica viene apportata per fornire più spazio disponibile e per le nuove richieste di strumenti.
Da cosa dipende il problema?
La versione dell'SDK è costituita dalle parti seguenti: x.y.znn
. z
è la versione della funzionalità ed nn
è la versione della patch. Ad esempio, per la versione 2.1.302, la versione della funzionalità è 3 e 02 è la versione patch. In base al nuovo approccio, verrà installata solo la versione più recente della patch per ogni versione di funzionalità, ad esempio solo 2.1.302 verrà installata per la versione 2.1.3x, solo 2.1.403 per la versione 2.1.4x e così via. Tutte le versioni di .NET SDK che non sono le versioni più recenti delle patch verranno rimosse dalle immagini Ubuntu il 14 giugno. Questa modifica influisce su tutte le versioni di Ubuntu negli agenti ospitati da Microsoft.
Data di destinazione
La distribuzione delle immagini aggiornate inizierà il 14 giugno e richiederà 3-4 giorni.
Possibile impatto
Se si usa un file global.json, la compilazione verrà interessata nei casi seguenti:
La compilazione avrà esito negativo, se il file global.json contiene la proprietà e la rollForward: disable
versione dell'SDK che non è la versione più recente della patch. Ad esempio:
{
"sdk": {
"version": "3.1.100",
"rollForward": "disable"
}
}
La versione di .NET SDK verrà modificata automaticamente alla patch più recente se il file global.json contiene la rollForward: patch
proprietà . Ad esempio:
{
"sdk": {
"version": "3.1.100",
"rollForward": "patch"
}
}
Se il rollForward
campo non è specificato nel file global.json, non verrà apportata alcuna modifica. Viene usato il livello di patch installato più recente.
Se è necessario usare la versione esatta di .NET SDK che non è la patch più recente, usare l'attivitàUseDotNet
per installarla come parte della compilazione:
steps:
- task: UseDotNet@2
displayName: 'Use .NET Core sdk'
inputs:
version: <dotnet version>
Autorizzazioni e controlli sui gruppi di variabili e sui file sicuri
È possibile usare diversi tipi di risorse condivise nelle pipeline YAML. Gli esempi includono connessioni al servizio, gruppi di variabili, file protetti, pool di agenti, ambienti o repository. Per proteggere una pipeline dall'accesso a una risorsa, il proprietario della risorsa può configurare autorizzazioni e controlli su tale risorsa. Ogni volta che una pipeline tenta di accedere alla risorsa, vengono valutate tutte le autorizzazioni e i controlli configurati. Queste protezioni sono disponibili per le connessioni al servizio, gli ambienti e i pool di agenti per un periodo di tempo. Sono stati aggiunti di recente ai repository. Con questa versione vengono aggiunte le stesse protezioni ai gruppi di variabili e ai file sicuri.
Per limitare l'accesso a un gruppo di variabili o a un file sicuro a un piccolo set di pipeline, usare la funzionalità autorizzazioni Pipelines .
Per configurare controlli o approvazioni che devono essere valutati ogni volta che viene eseguita una pipeline, usare la funzionalità Approvazioni e verifica la presenza di libreria.
Anteprima del supporto dei modelli nell'editor YAML
I modelli sono una funzionalità comunemente usata nelle pipeline YAML. Si tratta di un modo semplice per condividere frammenti di pipeline. Sono anche un meccanismo potente per verificare o applicare la sicurezza e la governance tramite la pipeline.
Azure Pipelines supporta un editor YAML che può essere utile durante la modifica della pipeline. In precedenza, l'editor non supportava i modelli. Gli autori di pipeline YAML non sono riusciti a ottenere assistenza intelliSense quando si usa un modello. Con questa versione viene visualizzato in anteprima il supporto per i modelli nell'editor YAML. Per abilitare questa anteprima, passare alle funzionalità di anteprima nell'organizzazione di Azure DevOps e abilitare l'editor di modelli YAML.
Quando si modifica il file YAML di Azure Pipelines principale, è possibile includere o estendere un modello. Quando si digita il nome del modello, verrà richiesto di convalidare il modello. Dopo la convalida, l'editor YAML riconosce lo schema del modello, inclusi i parametri di input.
Dopo la convalida, è possibile scegliere di passare al modello. Sarà possibile apportare modifiche al modello usando tutte le funzionalità dell'editor YAML.
Si noti che questa funzionalità è disponibile in anteprima. Esistono limitazioni note, alcune delle quali stiamo lavorando per risolvere. Se il modello ha parametri obbligatori che non vengono forniti come input nel file YAML principale, la convalida ha esito negativo e richiede di fornire tali input. In un'esperienza ideale, la convalida non deve essere bloccata e dovrebbe essere possibile compilare i parametri di input usando intellisense. Inoltre, non è possibile creare un nuovo modello dall'editor. È possibile usare o modificare solo i modelli esistenti.
Ubuntu-16.04 verrà rimosso dai pool ospitati da Microsoft a settembre 2021
Il supporto tradizionale di 5 anni di Ubuntu 16.04 da Canonical termina ad aprile 2021. Per mantenere aggiornato e protetto l'ambiente, verrà rimosso Ubuntu 16.04 il 20 settembre 2021.
Sarà necessario eseguire la migrazione dei flussi di lavoro ubuntu-16.04 a ubuntu-18.04 o ubuntu-latest che verrà eseguito in Ubuntu 20.04 LTS.
Per assicurarsi che tutti sappiano questa modifica, sono stati pianificati due short brownout. Tutte le build ubuntu 16.04 avranno esito negativo durante il periodo di brownout. È quindi consigliabile eseguire la migrazione delle pipeline prima del 6 settembre 2021.
I brownout sono pianificati provvisoriamente per le date e le ore seguenti. Questi tempi verranno aggiornati man mano che ci avviciniamo a questo periodo.
6 settembre 2021 05:00 UTC - 10:00 UTC
14 settembre 2021 05:00 UTC - 10:00 UTC
Passaggi successivi
Nota
Queste funzionalità verranno implementate nelle prossime due o tre settimane.
Passare ad Azure DevOps e dare un'occhiata.
Come fornire commenti e suggerimenti
Ci piacerebbe sentire cosa pensi di queste funzionalità. Usare il menu della Guida per segnalare un problema o fornire un suggerimento.
È anche possibile ottenere consigli e risposte alle domande della community su Stack Overflow.