Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
DevOps är en metod för programvaruutveckling som integrerar programvaruutveckling (Dev) med systemdrift (Ops). Systemet hjälper dig att leverera nya programvarufunktioner, uppdateringar och korrigeringar som överensstämmer med affärsmålen.
DevOps-metoden omfattar även:
- Utforma nya funktioner baserat på mål, användningsmönster och kundfeedback.
- Åtgärda, återställa och härda systemet när problem uppstår.
En komponent i DevOps-metodiken är pipelinen för kontinuerlig integrering (CI) och kontinuerlig leverans (CD). En CI/CD-pipeline flyttar information, kod och resurser från en källkontrollcommit genom en serie steg för att producera systemet. Stegen omfattar build, test och release.
Du kan använda Azure DevTest Labs i CI/CD-pipelines. Den här artikeln beskriver hur du använder DevTest Labs i CI/CD-bygg-, test- och versionspipelines i en företagsmiljö.
Fördelar med att använda DevTest Labs i DevOps-arbetsflöden
Ett labb ska endast användas av ett team som arbetar med ett funktionsområde. Det här fokuset möjliggör snabbare ändringar men begränsar eventuella negativa effekter till en mindre grupp. Ändringar eller problem inträffar i labbmiljön, utan att något annat påverkas.
Det här fokuset möjliggör även delning av områdesspecifika resurser, till exempel verktyg, skript och ARM-mallar (Azure Resource Manager). Utvecklare kan använda delade resurser för att skapa virtuella datorer med all kod, alla verktyg och den konfiguration de behöver. ARM-mallar skapar virtuella labbdatorer och labbmiljöer med lämpliga Azure-resurser. Mallarna skapar resurser dynamiskt eller genom att skapa basavbildningar med anpassningar.
Tänk dig till exempel ett scenario där produkten är ett fristående system som installeras på en kunds dator. För att aktivera snabb kodtestning i inre loopar kan DevTest Labs skapa virtuella labbdatorer som har kundprogramvara, artefakter och konfigurationer installerade.
Här är några fördelar med att använda labb i DevOps-arbetsflöden:
När du använder ett labb som en komponent associeras ett specifikt ekosystem med begränsade personer. Vanligtvis har ett team eller en grupp som arbetar i ett gemensamt område eller en specifik funktion tilldelats ett labb. Usually, a team or group working in a common area or a specific feature has a lab assigned to them.
Infrastrukturreplikering i molnet. En utvecklare kan snabbt konfigurera ett utvecklingsekosystem som innehåller en virtuell dator för utvecklare med källkod och verktyg. För att möjliggöra snabbare utveckling av inre loopar kan en utvecklare också skapa en miljö som är nästan identisk med produktionskonfigurationen.
För att aktivera asynkron testning kan ett labb i CI/CD-pipelinen köra flera olika förproduktionsmiljöer eller datorer samtidigt. Du kan distribuera och hantera olika supportinfrastrukturer och skapa agenter i ett labb. You can deploy and manage different support infrastructures and build agents in a lab.
Använda labb i CI/CD-pipelines
CI/CD-pipelinen är en viktig DevOps-komponent. Pipelinen integrerar koden från en utvecklares pull-begäran med befintlig kod och distribuerar koden till produktionsekosystemet. För DevTest Labs-integrering behöver inte alla resurser finnas i ett labb. Du kan till exempel konfigurera en Jenkins-värd utanför labbet för en mer beständig resurs. Här följer några specifika exempel på integrering av labb i CI/CD-pipelinen.
Build
Bygg-pipelinen skapar ett paket med komponenter som ska testas tillsammans och överlämnas för att släppas. Dynamiskt skapande av infrastruktur ger bättre kontroll. Laboratorier kan ingå i byggpipelin som ställen för byggagenter och andra stödresurser. DevTest Labs kan begränsa åtkomsten till labbet. Att göra så ökar säkerheten för build-agenter och minskar risken för oavsiktlig korruption.
Eftersom du kan ha flera miljöer i ett labb kan varje version köras asynkront. Bygg-ID:t är en del av miljöinformationen som unikt identifierar resurserna i en specifik version.
Test
En CI/CD-pipeline kan automatisera skapandet av DevTest Labs-resurser som virtuella datorer och miljöer för automatiserad och manuell testning. Pipelinen använder bygginformationsartefakter eller -formler för att skapa VM:er som har olika anpassade testkonfigurationer.
Release
Versionsprocessen kan använda DevTest Labs för verifiering innan koden distribueras. Processen liknar testning. Produktionsresurser bör inte distribueras i DevTest Labs.
Customization
Azure Pipelines, en komponent i Azure DevOps Services, tillhandahåller befintliga uppgifter för att manipulera virtuella datorer och miljöer i specifika labb. Azure Pipelines är ett sätt att hantera CI/CD-pipelinen. Du kan integrera ett labb i alla system som har stöd för att anropa REST-API:er, köra PowerShell-skript eller använda Azure CLI.
Vissa CI/CD-pipelinehanterare har befintliga plugin-program med öppen källkod som kan hantera Azure- och DevTest Labs-resurser. Du kan behöva använda anpassade skript för att passa pipelinens behov. När du kör en uppgift använder du en tjänstehuvudman med lämplig roll, vanligtvis Bidragsgivare, för att få åtkomst till labbet.