Azure Pipelines-arkitektur med DevTest Labs

Viktigt

CI/CD med DevTest Labs är en variant av Designa en CI/CD-pipeline med Azure DevOps. Den här artikeln fokuserar på detaljerna i distributionen till en DevTest Labs-mellanlagringsmiljö.

Med DevTest Labs kan du etablera Windows- och Linux-miljöer med hjälp av återanvändbara mallar och artefakter. Dessa miljöer kan vara användbara för utvecklare, men kan också användas i CI/CD-pipelines för etablering av mellanlagringsmiljöer. Se Azure DevTest Labs scenarier för att se om DevTest-labb passar bra för ditt scenario.

Den här artikeln beskriver ett devOps-arbetsflöde på hög nivå för distribution av programändringar med hjälp av metoder för kontinuerlig integrering (CI) och kontinuerlig distribution (CD) med hjälp av Azure Pipelines. En DevTest Labs-miljö används för mellanlagringsmiljön.

Arkitektur

Arkitekturdiagram över en CI/CD-pipeline med Azure Pipelines som använder Azure DevTest Labs för en mellanlagringsmiljö.

Ladda ned en Visio-fil med den här arkitekturen.

Dataflöde

Det här avsnittet förutsätter att du har läst azure pipelines-baslinjearkitekturen och bara fokuserar på detaljerna i att distribuera en arbetsbelastning till Azure DevTest Labs för mellanlagring.

  1. PR-pipeline - Samma som baslinjen

  2. CI-pipeline - Samma som baslinjen

  3. CD-pipelineutlösare - Samma som baslinjen

  4. CD skapa DevTest Labs mellanlagringsmiljö – Det här steget skapar DevTest Labs-miljön som fungerar som mellanlagringsmiljö. Steget omfattar:

    • Skapa Azure DevTest Labs miljö i en mellanlagringsprenumeration.
    • Distribuera en ARM-mall till DevTest Labs-miljön. Avbildningar av virtuella datorer kan lagras i ett delat bildgalleri.
    • Utför alla steg efter distributionen för att konfigurera mellanlagringsmiljön korrekt.
  5. CD-version till mellanlagring – samma som baslinjen med ett undantag. Mellanlagringsmiljön är en DevTest Labs-miljö.

  6. CD-version till produktion - Samma som baslinjen

  7. Övervakning - samma som baslinjen

Komponenter

Det här avsnittet förutsätter att du har läst avsnittet azure pipelines baseline architecture components (Azure Pipelines-baslinjearkitekturkomponenter) och fokuserar bara på detaljerna i distributionen av en arbetsbelastning till Azure DevTest Labs för mellanlagring.

  • Azure DevTest Labs är en tjänst för att skapa, använda och hantera miljöer som används för utveckling, testning och distribution. Med tjänsten kan du enkelt distribuera förkonfigurerade miljöer på ett kostnadseffektivt sätt.

Alternativ

  • Ett alternativ till att skapa DevTest Labs-mellanlagringsmiljön som en del av CD-processen kan du skapa miljön utanför pipelinen i förväg. Detta kommer att ha den positiva fördelen med att påskynda pipelinen. Det här alternativet stoppar möjligheten att ta bort miljön när pipelinen är klar, vilket ökar kostnaden.

  • I situationer där VM Image Builder och en Shared Image Gallery inte fungerar kan du konfigurera en avbildningsfabrik för att skapa VM-avbildningar från CI/CD-pipelinen och distribuera dem automatiskt till alla Azure DevTest Labs som är registrerade på avbildningarna. Mer information finns i Köra en avbildningsfabrik från Azure DevOps.

  • Ytterligare miljöer utöver mellanlagring kan skapas och distribueras till som en del av CD-pipelinen. De här miljöerna kan ha stöd för aktiviteter som prestandatestning och godkännandetestning av användare.

Överväganden

Det här avsnittet förutsätter att du har läst avsnittet om överväganden i Azure Pipelines-baslinjearkitekturen och endast fokuserar på detaljerna för att distribuera en arbetsbelastning till Azure DevTest Labs för mellanlagring.

Kostnadsoptimering

Driftseffektivitet

  • Överväg att implementera miljöer utöver bara mellanlagring och produktion för att aktivera saker som återställningar, manuell godkännandetestning och prestandatestning. Att använda mellanlagring som återställningsmiljö gör att du inte kan använda den miljön i andra syften.

Nästa steg