Usare Azure Pipelines

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines supporta l'integrazione continua (CI) e il recapito continuo (CD) per testare, compilare e distribuire continuamente il codice. A tale scopo, definire una pipeline.

Il modo più recente per compilare le pipeline consiste nell'editor di pipeline YAML. È anche possibile usare le pipeline classiche con l'editor classico.

Automatizzare test, compilazioni e recapito

L'integrazione continua (CI) automatizza i test e le compilazioni per il progetto. L'integrazione continua consente di rilevare bug o problemi all'inizio del ciclo di sviluppo, quando sono più semplici e veloci da correggere. Gli elementi noti come artefatti vengono prodotti dai sistemi CI. Vengono usate dalle pipeline di versione del recapito continuo per guidare le distribuzioni automatiche.

Il recapito continuo distribuisce e testa automaticamente il codice in più fasi per favorire la qualità. I sistemi di integrazione continua producono artefatti distribuibili, che includono l'infrastruttura e le app. Le pipeline di versione automatizzate usano questi artefatti per rilasciare nuove versioni e aggiornamenti nella destinazione desiderata.

Integrazione continua (CI) Recapito continuo (CD)
- Aumentare il code coverage
- Creare più velocemente suddividendo le esecuzioni di test e compilazione
- Assicurarsi automaticamente di non spedire codice danneggiato
- Eseguire test continuamente
- Distribuire automaticamente il codice nell'ambiente di produzione
- Assicurarsi che le destinazioni di distribuzione abbiano il codice più recente
- Usare il codice testato dal processo di integrazione continua

Definire le pipeline usando la sintassi YAML

La pipeline viene definita in un file YAML denominato azure-pipelines.yml con il resto dell'app.

Immagine introduttiva YAML delle pipeline

  • Alla pipeline è assegnata una versione in base al codice. Segue la stessa struttura di diramazione. È possibile ottenere la convalida delle modifiche tramite le revisioni del codice nelle richieste pull e i criteri di creazione dei rami.
  • Ogni ramo usato può modificare la pipeline modificando il azure-pipelines.yml file. Altre informazioni sulla considerazione del ramo per le pipeline YAML.
  • Una modifica del processo di compilazione può causare un'interruzione o un risultato imprevisto. Poiché la modifica riguarda il controllo della versione con il resto della codebase, è possibile identificare più facilmente il problema.

Seguire questa procedura di base:

  1. Configurare Azure Pipelines per l'uso del repository Git.
  2. Modificare il azure-pipelines.yml file per definire la compilazione.
  3. Eseguire il push del codice nel repository di controllo della versione. Questa azione attiva il trigger predefinito di compilazione e distribuzione e quindi monitora i risultati.

Il codice è ora aggiornato, compilato, testato e inserito nel pacchetto. Può essere distribuito in qualsiasi destinazione.

Definire le pipeline usando l'interfaccia classica

Creare e configurare pipeline nel portale Web di Azure DevOps con l'editor dell'interfaccia utente classica. Si definisce una pipeline di compilazione per compilare e testare il codice e quindi pubblicare gli artefatti. Si definisce inoltre una pipeline di versione per utilizzare e distribuire tali artefatti nelle destinazioni di distribuzione.

Immagine introduttiva della finestra di progettazione pipeline

Seguire questa procedura di base:

  1. Configurare Azure Pipelines per l'uso del repository Git.
  2. Usare l'editor classico di Azure Pipelines per creare e configurare le pipeline di compilazione e versione.
  3. Eseguire il push del codice nel repository di controllo della versione. Questa azione attiva la pipeline ed esegue attività come la compilazione o i test del codice.

La compilazione crea un artefatto usato dal resto della pipeline per eseguire attività come la distribuzione nella gestione temporanea o nell'ambiente di produzione.

Il codice è ora aggiornato, compilato, testato e inserito nel pacchetto. Può essere distribuito in qualsiasi destinazione.

Disponibilità di funzionalità

Alcune funzionalità della pipeline sono disponibili solo quando si usa YAML o quando si definiscono pipeline di compilazione o versione con l'interfaccia classica. La tabella seguente indica quali funzionalità sono supportate e per quali attività e metodi.

Funzionalità YAML Build classica Pipeline di versione Note
Agenti Specifica una risorsa necessaria in cui viene eseguita la pipeline.
Approvazioni Definisce un set di convalide necessarie prima di completare una fase di distribuzione.
Elementi Supporta la pubblicazione o l'utilizzo di tipi di pacchetto diversi.
Memorizzazione nella cache Riduce il tempo di compilazione consentendo di riutilizzare gli output o le dipendenze scaricate da un'esecuzione in un'esecuzione successiva. In anteprima, disponibile solo con Azure Pipelines.
Condizioni Specifica le condizioni da soddisfare prima di eseguire un processo.
Processi del contenitore Specifica i processi da eseguire in un contenitore.
Richieste Assicura che i requisiti della pipeline vengano soddisfatti prima di eseguire una fase della pipeline. Richiede agenti self-hosted.
Dipendenze Specifica un requisito che deve essere soddisfatto per eseguire il processo o la fase successiva.
Gruppi di distribuzione Definisce un set logico di computer di destinazione della distribuzione.
Processi del gruppo di distribuzione Specifica un processo da rilasciare in un gruppo di distribuzione.
Processi di distribuzione Definisce la procedura di distribuzione.
Ambiente Rappresenta una raccolta di risorse destinate alla distribuzione. Disponibile solo con Azure Pipelines.
Cancelli Supporta la raccolta automatica e la valutazione dei segnali di integrità esterni prima di completare una fase di rilascio. Disponibile solo con versione classica.
Processi Definisce la sequenza di esecuzione di un set di passaggi.
Connessioni al servizio Abilita una connessione a un servizio remoto necessario per eseguire attività in un processo.
Contenitori del servizio Consente di gestire il ciclo di vita di un servizio contenitore.
Fasi. Organizza i processi all'interno di una pipeline.
Gruppi di attività Incapsula una sequenza di attività in una singola attività riutilizzabile. Se si usa YAML, vedere i modelli.
Attività Definisce i blocchi predefiniti che costituiscono una pipeline.
Modelli Definisce i parametri, la logica e il contenuto riutilizzabili.
Trigger Definisce l'evento che causa l'esecuzione di una pipeline.
Variabili Rappresenta un valore da sostituire con i dati da passare alla pipeline.
Gruppi di variabili Usare per archiviare i valori che si vuole controllare e rendere disponibili in più pipeline.

Passaggi successivi