Använda DevTest Labs i Build and Release-pipelines i Azure Pipelines
Den här artikeln innehåller information om hur DevTest Labs kan användas i Bygg- och versionspipelines för Azure Pipelines.
Övergripande flöde
Det grundläggande flödet är att ha en bygg-pipeline som utför följande uppgifter:
- Skapa programkoden.
- Skapa basmiljön i DevTest Labs.
- Uppdatera miljön med anpassad information.
- Distribuera programmet till DevTest Labs-miljön
- Testa koden.
När bygget har slutförts använder versionspipelinen versionsartefakterna för att distribuera mellanlagring eller produktion.
En av de nödvändiga lokalerna är att all information som behövs för att återskapa det testade ekosystemet är tillgänglig i byggartefakterna, inklusive konfigurationen av Azure-resurserna. Eftersom Azure-resurser medför en kostnad när de används vill företag antingen kontrollera eller spåra användningen av dessa resurser. I vissa situationer kan Azure Resource Manager mallar som används för att skapa och konfigurera resurserna hanteras av en annan avdelning som IT. Och dessa mallar kan lagras på en annan lagringsplats. Det leder till en intressant situation när du skapar och testar ett bygge. Både koden och konfigurationen måste lagras i byggartefakterna för att kunna återskapa systemet i produktion.
Med DevTest Labs under bygg- och testfasen kan du lägga till Azure Resource Manager-mallar och stödfiler till byggkällorna. Under lanseringsfasen distribuerar du den exakta konfiguration som du använde i test till produktion. Uppgiften Skapa Azure DevTest Labs miljö med rätt konfiguration sparar Resource Manager mallar i byggartefakterna. I det här exemplet använder du koden från Självstudie: Skapa en .NET Core- och SQL Database-webbapp i Azure App Service för att distribuera och testa webbappen i Azure.
Ställa in Azure-resurser
Du måste skapa några objekt i förväg:
- Två lagringsplatser. Den första med koden från självstudien och en Resource Manager mall med ytterligare två virtuella datorer. Den andra innehåller den grundläggande Azure Resource Manager-mallen (befintlig konfiguration).
- En resursgrupp för distribution av produktionskoden och konfigurationen.
- Ett labb med en anslutning till konfigurationslagringsplatsen för bygg-pipelinen. Checka in Resource Manager-mallen till konfigurationslagringsplatsen som azuredeploy.json med metadata.json. Med det här namnet kan DevTest Labs identifiera och distribuera mallen.
Bygg-pipelinen skapar en DevTest Labs-miljö och distribuerar koden för testning.
Konfigurera en bygg-pipeline
I Azure Pipelines skapar du en bygg-pipeline med hjälp av koden från Självstudie: Skapa en .NET Core- och SQL Database-webbapp i Azure App Service. Använd mallen ASP.NET Core som fyller i den uppgift som krävs för att skapa, testa och publicera koden.
Lägg till ytterligare tre uppgifter för att skapa miljön i DevTest Labs och distribuera till miljön.
Skapa miljöuppgift
I uppgiften Azure DevTest Labs Skapa miljö använder du listrutorna för att välja följande värden:
- Azure-prenumeration
- Namnet på labbet
- Namnet på lagringsplatsen
- Namnet på mallen (som visar mappen där miljön lagras).
Vi rekommenderar att du använder listrutor på sidan i stället för att ange informationen manuellt. Om du anger informationen manuellt anger du fullständigt kvalificerade Azure-resurs-ID:t. Aktiviteten visar de egna namnen i stället för resurs-ID:t.
Miljönamnet är det visade namnet som visas i DevTest Labs. Det bör vara ett unikt namn för varje version. Exempel: TestEnv$(Build.BuildId).
Du kan ange antingen parameterfilen eller parametrarna för att skicka information till Resource Manager-mallen.
Välj alternativet Skapa utdatavariabler baserat på utdata för miljömallen och ange ett referensnamn. I det här exemplet anger du BaseEnv som referensnamn. Du använder denna BaseEnv när du konfigurerar nästa uppgift.
Fylla i miljöuppgift
Den andra uppgiften (Azure DevTest Labs Aktiviteten Fyll i miljö) är att uppdatera den befintliga DevTest Labs-miljön. Aktiviteten Skapa miljö matar ut BaseEnv.environmentResourceId som används för att konfigurera miljönamnet för den här aktiviteten. Mallen Resource Manager för det här exemplet har två parametrar : adminUserName och adminPassword.
App Service distributionsaktivitet
Den tredje aktiviteten är uppgiften Azure App Service Deploy. Apptypen är inställd på Webbapp och App Service namnet är inställt på $(WebSite).
Konfigurera versionspipeline
Du skapar en versionspipeline med två uppgifter: Azure-distribution: Skapa eller uppdatera resursgrupp och Distribuera Azure App Service.
För den första aktiviteten anger du resursgruppens namn och plats. Mallplatsen är en länkad artefakt. Om den Resource Manager mallen innehåller länkade mallar måste du implementera en anpassad resursgruppsdistribution. Mallen finns i den publicerade släppartefakten. Åsidosätt mallparametrar för Resource Manager-mallen. Du kan lämna kvar återstående inställningar med standardvärden.
För den andra uppgiften Distribuera Azure App Service anger du Azure-prenumerationen, väljer Webbapp som Apptyp och $(WebSite) som namn på App Service. Du kan lämna kvar återstående inställningar med standardvärden.
Testkörning
Nu när båda pipelines har konfigurerats köar du en version manuellt och ser att den fungerar. Nästa steg är att ange lämplig utlösare för bygget och ansluta versionen till versionspipelinen.
Nästa steg
Se följande artiklar: