Konfigurera CI/CD-arbetsflödet manuellt för att köra belastningstester
Du kan automatisera ett belastningstest i Azure Load Testing genom att skapa en CI/CD-pipeline. I den här artikeln får du lära dig hur du manuellt konfigurerar GitHub Actions, Azure Pipelines eller andra CI-verktyg för att anropa ett befintligt test i Azure Load Testing. Automatisera ett belastningstest för att kontinuerligt verifiera programmets prestanda och stabilitet under belastning.
Så här lägger du till ett befintligt belastningstest i en CI/CD-pipeline:
- Konfigurera tjänstautentisering så att CI-verktyget kan ansluta till din Azure-belastningstestningsresurs.
- Lägg till indatafiler för belastningstest till lagringsplatsen, till exempel JMeter-testskriptet och YAML-konfigurationen för belastningstestet.
- Uppdatera CI/CD-pipelinedefinitionen för att anropa Azure Load Testing.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Ett Azure Load Testing-test. Skapa ett URL-baserat belastningstest eller använd ett befintligt JMeter-skript för att skapa ett belastningstest.
- En Azure DevOps-organisation och ett projekt. Om du inte har en Azure DevOps-organisation kan du skapa en kostnadsfritt. Om du behöver hjälp med att komma igång med Azure Pipelines kan du läsa Skapa din första pipeline.
Konfigurera tjänstautentisering
Om du vill köra ett belastningstest i ditt CI/CD-arbetsflöde måste du ge behörighet till CI/CD-arbetsflödet för att få åtkomst till din belastningstestningsresurs. Skapa ett huvudnamn för tjänsten för CI/CD-arbetsflödet och tilldela rollen Inläsningstestdeltagare i Azure RBAC.
Skapa en tjänstanslutning i Azure Pipelines
I Azure Pipelines skapar du en tjänstanslutning i ditt Azure DevOps-projekt för att få åtkomst till resurser i din Azure-prenumeration. När du skapar tjänstanslutningen skapar Azure DevOps ett Microsoft Entra-objekt för tjänstens huvudnamn.
Logga in på din Azure DevOps-organisation (
https://dev.azure.com/<your-organization>
) och välj ditt projekt.<your-organization>
Ersätt textplatshållaren med projektidentifieraren.Välj Projektinställningar>Tjänstanslutningar>+ Ny tjänstanslutning.
I fönstret Ny tjänstanslutning väljer du Azure Resource Manager och sedan Nästa.
Välj autentiseringsmetoden Tjänsthuvudnamn (automatisk) och välj sedan Nästa.
Ange information om tjänstanslutningen och välj sedan Spara för att skapa tjänstanslutningen.
Fält Värde Omfångsnivå Prenumeration. Abonnemang Välj den Azure-prenumeration som är värd för din belastningstestningsresurs. Resursgrupp Välj den resursgrupp som innehåller din belastningstestningsresurs. Namn på tjänstanslutning Ange ett unikt namn för tjänstanslutningen. Bevilja åtkomstbehörighet till alla pipelines Markerad. I listan över tjänstanslutningar väljer du den som du skapade tidigare och väljer sedan Hantera tjänstens huvudnamn.
Azure Portal öppnas på en separat webbläsarflik och visar information om tjänstens huvudnamn.
I Azure Portal kopierar du värdet Visningsnamn.
Du använder det här värdet i nästa steg för att bevilja behörigheter för körning av belastningstester till tjänstens huvudnamn.
Bevilja åtkomst till Azure Load Testing
Azure Load Testing använder Azure RBAC för att bevilja behörigheter för att utföra specifika aktiviteter på din belastningstestningsresurs. Om du vill köra ett belastningstest från CI/CD-pipelinen beviljar du rollen Load Test Contributor till tjänstens huvudnamn.
Välj Åtkomstkontroll (IAM)>Lägg till lägg till>rolltilldelning.
På fliken Roll väljer du Läs in testdeltagare i listan över jobbfunktionsroller.
På fliken Medlemmar väljer du Välj medlemmar och använder sedan visningsnamnet som du kopierade tidigare för att söka i tjänstens huvudnamn.
Välj tjänstens huvudnamn och välj sedan Välj.
På fliken Granska + tilldela väljer du Granska + tilldela för att lägga till rolltilldelningen.
Nu kan du använda tjänstanslutningen i arbetsflödesdefinitionen för Azure Pipelines för att få åtkomst till azure-belastningstestningsresursen.
Lägga till belastningstestfiler på lagringsplatsen
Om du vill köra ett belastningstest med Azure Load Testing i ett CI/CD-arbetsflöde måste du lägga till alla indatafiler för belastningstest i källkontrolllagringsplatsen.
Om du inte har ett befintligt belastningstest lägger du till följande filer i källkodslagringsplatsen:
- Läs in YAML-filen för testkonfiguration. Lär dig hur du kan skapa en YAML-fil för belastningstestkonfiguration.
- Testplansfil. För JMeter-baserade tester lägger du till ett JMeter-testskript (
JMX
fil). För URL-baserade tester lägger du till en JSON-fil för begäranden. - Alla JMeter-användaregenskaper filer.
- Alla indatafiler som testplanen använder. Till exempel CSV-datafiler.
Om du har ett befintligt belastningstest kan du ladda ned konfigurationsinställningarna och alla indatafiler direkt från Azure Portal. Utför följande steg för att ladda ned indatafilerna för en befintlig belastningstestning i Azure Portal:
I den vänstra rutan väljer du Tester för att visa listan över belastningstester och väljer sedan ditt test.
Välj ellipsen (...) bredvid den testkörning som du arbetar med och välj sedan Ladda ned indatafil.
Webbläsaren laddar ned en zippad mapp som innehåller indatafilerna för belastningstestet.
Använd alla zip-verktyg för att extrahera indatafilerna.
Mappen innehåller följande filer:
-
config.yaml
: YAML-konfigurationsfilen för belastningstestet. Du refererar till den här filen i CI/CD-arbetsflödesdefinitionen. -
.jmx
: JMeter-testskriptet - Eventuella ytterligare indatafiler, till exempel CSV-filer eller filer med användaregenskaper som behövs för att köra belastningstestet.
-
Checka in alla extraherade indatafiler till källkontrolllagringsplatsen.
Använd källkodslagringsplatsen där du konfigurerar CI/CD-pipelinen.
Uppdatera CI/CD-arbetsflödesdefinitionen
Azure Load Testing stöder både GitHub Actions och Azure Pipelines för att köra belastningstester.
Installera Azure Load Testing-tillägget för Azure DevOps
För att skapa och köra ett belastningstest använder Azure Pipelines-arbetsflödesdefinitionen aktivitetstillägget Azure Load Testing från Azure DevOps Marketplace.
Öppna azure load testing-aktivitetstillägget på Azure DevOps Marketplace och välj Hämta kostnadsfritt.
Välj din Azure DevOps-organisation och välj sedan Installera för att installera tillägget.
Om du inte har administratörsbehörighet för den valda Azure DevOps-organisationen väljer du Begär att begära att en administratör installerar tillägget.
Uppdatera Azure Pipelines-arbetsflödet
Uppdatera ditt Azure Pipelines-arbetsflöde för att köra ett belastningstest för azure-belastningstestningsresursen.
Logga in på din Azure DevOps-organisation (
https://dev.azure.com/<your-organization>
) och välj ditt projekt.Välj Pipelines i det vänstra navigeringsfältet, välj din pipeline och välj sedan Redigera för att redigera arbetsflödesdefinitionen.
Alternativt väljer du Skapa pipeline för att skapa en ny pipeline i Azure Pipelines.
Använd uppgiften
AzureLoadTest
för att köra belastningstestet.Ange konfigurationsfilen för belastningstestet som du exporterade tidigare i egenskapen
loadTestConfigFile
.<load-testing-resource>
Ersätt platshållarna och<load-testing-resource-group>
text med namnet på din Azure-belastningstestningsresurs och resursgruppen.- task: AzureLoadTest@1 inputs: azureSubscription: $(serviceConnection) loadTestConfigFile: 'config.yaml' loadTestResource: <load-testing-resource> resourceGroup: <load-testing-resource-group>
Du kan också skicka parametrar eller hemligheter till belastningstestet
env
med hjälp av egenskapen ellersecrets
.Använd uppgiften
publish
för att publicera testresultatet som artefakter i azure pipelines-arbetsflödet.- publish: $(System.DefaultWorkingDirectory)/loadTest artifact: loadTestResults
Visa testresultat för belastning
När du kör ett belastningstest från CI/CD-pipelinen kan du visa sammanfattningsresultaten direkt i CI/CD-utdataloggen. Om du har publicerat testresultaten som en pipelineartefakt kan du också ladda ned en CSV-fil för ytterligare rapportering.
Rensa resurser
Om du inte planerar att använda någon av de resurser som du har skapat tar du bort dem så att du inte debiteras ytterligare avgifter.
Ta bort Ändringar i Azure Pipelines:
Logga in på din Azure DevOps-organisation (
https://dev.azure.com/<your-organization>
) och välj ditt projekt.<your-organization>
Ersätt textplatshållaren med projektidentifieraren.Om du har skapat en ny pipeline":
Om du har ändrat en befintlig arbetsflödesdefinition kan du ångra ändringarna för att köra belastningstestet och spara arbetsflödet.
Ta bort tjänstanslutningen:
- Välj Projektinställningar>Tjänstanslutningar och välj sedan din tjänstanslutning.
- Välj Redigera>ta bort för att ta bort tjänstanslutningen.
Nästa steg
Gå vidare till nästa artikel för att lära dig hur du identifierar prestandaregressioner genom att definiera kriterier för testfel och jämföra testkörningar.