Architettura di Azure Pipelines con DevTest Labs

Importante

CI/CD con DevTest Labs è una variante di Progettazione di una pipeline CI/CD con Azure DevOps. Questo articolo è incentrato sulle specifiche della distribuzione in ambienti 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 possono essere utili per gli sviluppatori, ma possono essere usati anche nelle pipeline CI/CD per il provisioning degli ambienti di staging. Vedere gli scenari di Azure DevTest Labs per verificare se DevTest Labs è una soluzione adatta allo scenario in uso.

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

Architettura

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 sia stata letta e sia incentrata solo sulle specifiche della distribuzione di un carico di lavoro in Azure DevTest Labs per la gestione temporanea.

  1. Pipeline di richieste pull - Uguale alla linea di base

  2. Pipeline - CIUguale alla linea di base

  3. Trigger - della pipeline CDUguale 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 Azure DevTest Labs ambiente in una sottoscrizione di staging.
    • Distribuire un modello di Resource Manager nell'ambiente DevTest Labs. Le immagini delle macchine virtuali possono essere archiviate in una raccolta di immagini condivise.
    • Eseguire eventuali passaggi successivi alla distribuzione per configurare correttamente l'ambiente di gestione temporanea.
  5. Versione cd per la gestione temporanea : uguale alla linea di base con un'unica eccezione. L'ambiente di gestione temporanea è un ambiente DevTest Labs.

  6. Rilascio cd in produzione - Uguale alla linea di base

  7. Monitoraggio - uguale alla linea di base

Componenti

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 Azure DevTest Labs per la gestione temporanea.

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

Alternativi

  • In alternativa alla creazione dell'ambiente di gestione temporanea di DevTest Labs come parte del processo cd, è possibile creare in modo preliminare l'ambiente all'esterno della pipeline. Questo avrà il vantaggio positivo di velocizzare la pipeline. Questa alternativa interromperà la possibilità di eliminare l'ambiente al termine della pipeline, aumentando il costo.

  • Nei casi in cui Image Builder e un Raccolta immagini condivise non funzionano, è possibile configurare una factory di immagini per compilare immagini di macchine virtuali dalla pipeline CI/CD e distribuirle automaticamente a qualsiasi Azure DevTest Labs registrata in tali immagini. Per altre informazioni, vedere Eseguire una factory di immagini da Azure DevOps.

  • Altri ambienti, oltre alla gestione temporanea, possono essere creati e distribuiti in 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 concentra solo sulle specifiche della distribuzione di un carico di lavoro in Azure DevTest Labs per la gestione temporanea.

Ottimizzazione dei costi

Eccellenza operativa

  • Prendere in considerazione l'implementazione di ambienti oltre la gestione temporanea e la produzione per abilitare operazioni come rollback, test di accettazione manuale e test delle prestazioni. L'azione di usare lo staging come ambiente di rollback impedisce di poter usare tale ambiente per altri scopi.

Passaggi successivi