Condividi tramite


Architettura di Azure Pipelines con Azure DevTest Labs

Importante

CI/CD con DevTest Labs è una variante di Progettare una pipeline CI/CD usando Azure DevOps. Questo articolo è incentrato sulle specifiche della distribuzione in un ambiente di gestione temporanea di DevTest Labs.

DevTest Labs consente di effettuare il provisioning di ambienti Windows e Linux usando modelli e artefatti riutilizzabili. Questi ambienti sono utili per gli sviluppatori, ma è anche possibile usarli nelle pipeline CI/CD per il provisioning degli ambienti di gestione temporanea. Vedere Gli scenari di Azure DevTest Labs per determinare se DevTest Labs è una soluzione ottimale per lo scenario.

Questo articolo descrive un flusso di lavoro DevOps di alto livello per la distribuzione delle modifiche delle applicazioni usando procedure di integrazione continua (CI) e distribuzione continua (CD) con Azure Pipelines. Per l'ambiente di gestione temporanea viene usato un ambiente DevTest Labs.

Architecture

Diagramma dell'architettura di una pipeline CI/CD con Azure Pipelines che usa Azure DevTest Labs per un ambiente di gestione temporanea.

Scaricare un file di Visio di questa architettura.

Flusso di dati

Questa sezione presuppone che l'architettura di base di Azure Pipelines venga letta e si concentra solo sulle specifiche della distribuzione di un carico di lavoro in DevTest Labs per la gestione temporanea.

  1. Pipeline PR - Identico alla linea di base

  2. Pipeline - CIUguale alla linea di base

  3. Trigger - Uguale alla linea di base

  4. Creare l'ambiente di gestione temporanea di DevTest Labs : questo passaggio crea l'ambiente DevTest Labs che funge da ambiente di gestione temporanea. Il passaggio include:

    • Creare un ambiente DevTest Labs in una sottoscrizione di staging.
    • Distribuire un modello di Azure Resource Manager nell'ambiente DevTest Labs. Le immagini delle macchine virtuali possono essere archiviate in una raccolta di immagini condivise.
    • Eseguire qualsiasi procedura di post-distribuzione per configurare correttamente l'ambiente di gestione temporanea.
  5. Rilascio CD all'ambiente di staging - uguale alla baseline con un'unica eccezione. L'ambiente di gestione temporanea è un ambiente DevTest Labs.

  6. Rilascio del CD nell'ambiente di produzione - Uguale alla linea di base

  7. Monitoraggio - uguale alla linea di base

Components

Questa sezione presuppone che sia stata letta la sezione Componenti dell'architettura di base di Azure Pipelines e si concentra solo sulle specifiche della distribuzione di un carico di lavoro in DevTest Labs per la gestione temporanea.

  • Azure DevTest Labs è un servizio per la creazione, l'uso e la gestione di ambienti per scopi di sviluppo, test e distribuzione. Il servizio consente di distribuire facilmente gli ambienti preconfigurato in modo conveniente.

Alternativi

  • Invece di creare l'ambiente di gestione temporanea di DevTest Labs come parte del processo CD, pre-creare l'ambiente all'esterno della pipeline. Questo approccio accelera la pipeline. Tuttavia, questo approccio arresta la possibilità di eliminare l'ambiente al termine della pipeline, aumentando così il costo.

  • In situazioni in cui Azure VM Image Builder e una Shared Image Gallery non funzionano, configurare una fabbrica di immagini per creare immagini di macchine virtuali dalla pipeline CI/CD e distribuirle automaticamente a qualsiasi DevTest Labs registrato in tali immagini. Per ulteriori informazioni, vedere Eseguire una fabbrica di immagini da Azure DevOps.

  • È possibile creare e distribuire ambienti aggiuntivi oltre l'ambiente di staging come parte della pipeline CD. Questi ambienti possono supportare attività come test delle prestazioni e test di accettazione utente.

Considerazioni

Questa sezione presuppone che sia stata letta la sezione considerazioni nell'architettura di base di Azure Pipelines e si concentri solo sulle specifiche della distribuzione di un carico di lavoro in DevTest Labs per la gestione temporanea.

Ottimizzazione dei costi

Eccellenza operativa

  • Prendere in considerazione l'implementazione di ambienti oltre allo staging e alla produzione per abilitare i rollback, i test di accettazione manuale e i test delle prestazioni. L'utilizzo dello staging come ambiente di rollback impedisce di utilizzare tale ambiente per altri scopi.

Passaggi successivi