Microsoft AZ-400: Pipeline CI/CD con Azure Pipelines — Guida allo studio

Fa parte della Microsoft DevOps Engineer Expert AZ-400 — Guida allo studio. Esercitati con risposte verificate nel centro esami Microsoft, oppure fai test cronometrati su ExamRoll.io.

Panoramica

Azure Pipelines offre CI/CD end-to-end as code, con pipeline YAML multi-stage che unificano build, test e rilascio, preservando al contempo i controlli enterprise. La padronanza dell’authoring di YAML, dei trigger, degli agenti, delle variabili, dei template, dei job di deployment, degli artefatti, del caching e delle connessioni ai servizi è essenziale per costruire sistemi di delivery scalabili, sicuri e ripetibili.

Authoring con YAML e Template

Una pipeline YAML è composta da stage, job e step. Gli stage modellano i confini del ciclo di vita come Build, Test, Release; i job vengono eseguiti su agenti e possono essere eseguiti in parallelo; gli step sono task o script eseguiti all’interno di un job. Le dipendenze sono esplicite tramite dependsOn, consentendo un’orchestrazione granulare e un’esecuzione condizionale. Lo YAML multi-stage consolida CI e CD, supporta pattern di tipo fan-in/fan-out e lega le approvazioni agli ambienti piuttosto che a un costrutto di release autonomo.

I template abilitano la composizione e il riutilizzo a diverse granularità:

La valutazione dei template avviene in fase di compilazione (compile-time) prima dell’esecuzione a runtime. Usa ${{ }} per le espressioni di template per creare ramificazioni nella struttura della pipeline in fase di compilazione (ad esempio, includere certi job solo per il branch main). La sintassi delle macro $(var) e le espressioni a runtime $[ ] vengono risolte a runtime, il che influisce su quando i segreti e i gruppi di variabili sono disponibili. Archivia i template condivisi in un repository centrale e importali tramite resources: repositories; fissa (pin) la versione a un branch o a un tag per build deterministici.

Trigger, Agenti, Variabili ed Espressioni

I trigger governano i punti di ingresso dell’automazione:

Agenti e pool di agenti determinano dove vengono eseguiti i job:

Variabili e parametri guidano la configurabilità:

Distribuzioni, Ambienti, Strategie e Gate

I processi di distribuzione (deployment job) forniscono una semantica di prima classe per la CD. Un processo di distribuzione si rivolge a un ambiente e viene eseguito secondo una strategia che controlla i rollout e gli hook del ciclo di vita:

Codificate la logica di distribuzione come un processo di distribuzione per ogni fase (stage) dell’ambiente. Sfruttate i controlli dell’ambiente per creare gate robusti, non un polling tramite script ad-hoc. Quando sono necessari dei segreti, recuperateli da Azure Key Vault tramite una connessione al servizio anziché incorporarli nelle variabili.

Artefatti, Caching e Connessioni al Servizio

Artefatti e caching migliorano il riutilizzo e le prestazioni:

Le connessioni al servizio definiscono l’identità che Azure Pipelines utilizza per raggiungere sistemi esterni:

Classiche vs YAML e Migrazione

Le pipeline classiche utilizzano il designer visuale con concetti separati di Build e Release. Offrono creazione basata su task, gestione delle variabili, ambienti di rilascio e gate. Le pipeline YAML forniscono pipeline-as-code, unificazione multi-stage, template e un robusto versioning con il repository. La parità di funzionalità è in gran parte raggiunta: le approvazioni e i controlli (check) sugli ambienti sostituiscono i gate di rilascio; i deployment job modellano gli ambienti; gli artefatti di pipeline sostituiscono gli artefatti di build; e i template e la direttiva extends implementano una governance centralizzata su larga scala. Le differenze rimanenti riguardano tipicamente interventi manuali basati sull’interfaccia utente e alcune funzionalità di nicchia del designer di rilascio, che sono coperte in YAML tramite task di convalida manuale (Manual Validation) e controlli di ambiente.

Un percorso di migrazione pragmatico è:

  1. Inventariare le definizioni di build e rilascio classiche, i task, le variabili, gli ambienti, le approvazioni e i gate.
  2. Convertire la build in YAML usando l’assistente o l’esportazione in YAML, quindi effettuare il refactoring in template per il riutilizzo e la manutenibilità.
  3. Modellare ogni ambiente di rilascio come uno stage YAML con un deployment job che punta a un ambiente. Tradurre i gate di rilascio in approvazioni e controlli di ambiente (es. controlli di query su Azure Monitor, controlli di query su work item).
  4. Esternalizzare le variabili condivise in gruppi di variabili (variable groups) e collegare Key Vault per i segreti. Sostituire i segreti dei service principal con service connection basate su OIDC.
  5. Sostituire i trigger basati sugli artefatti di rilascio con trigger di risorsa pipeline (pipeline resource triggers). Pubblicare gli artefatti di pipeline nella fase di CI e consumarli nelle fasi di CD.
  6. Convalidare la parità eseguendo temporaneamente entrambe le pipeline, quindi effettuare il passaggio definitivo e ritirare le definizioni classiche con piani di rollback appropriati.

Scenario Pratico

Starbucks sta standardizzando il delivery per una piattaforma di microservizi e deve migrare dalle release classiche a YAML, imponendo al contempo gate di performance, riducendo il rischio legato alle credenziali e accelerando le build.

  1. Creare YAML multi-stage con template extends
  1. Implementare trigger di CI, PR, schedulati e di pipeline
  1. Utilizzare una strategia di agenti mista con pool di agenti
  1. Gestire le variabili con gruppi di variabili e parametri di runtime
  1. Definire deployment job con ambienti, approvazioni e controlli (check)
  1. Applicare strategie canary e poi blue-green
  1. Ottimizzare con artefatti di pipeline e caching
  1. Mettere in sicurezza le service connection con OIDC e permessi con scope limitato

Questo design end-to-end allinea la governance YAML-as-code con approvazioni e controlli di livello enterprise, accelera il delivery tramite caching e artefatti, e rafforza la sicurezza tramite OIDC e service connection con scope limitato.


Controllo del codice sorgente e gestione dei repository · Tutti i domini · Infrastruttura come codice e gestione della configurazione

Esercitati su queste domande → · Pratica cronometrata su ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Supera l'esame →

Sfoglia Microsoft →

Related guides

Accesso tutto incluso

Un abbonamento. Ogni esame.

Ogni piano sblocca la ricerca illimitata di risposte, test pratici, spiegazioni AI e la libreria completa di risorse — in oltre 20 lingue.

Mensile
24.87
Just €0.83/day
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

Miglior valore
12 mesi
179.87
Just €0.49/daySave 40%
Tutto incluso:
  • Ricerca risposte illimitata
  • Test pratici illimitati
  • Spiegazioni basate su AI
  • Libreria completa di risorse
  • Oltre 20 lingue
  • Aggiornamenti settimanali dei contenuti
  • Premi e referral
  • Supporto prioritario
Inizia la prova gratuita

Nessuna carta di credito richiesta*

✓ Piano gratuito incluso · ✓ Annulla in qualsiasi momento · ✓ Tutti i piani sbloccano il prodotto completo