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 testskriptet och YAML-konfigurationen för belastningstestet.
  • Uppdatera CI/CD-pipelinedefinitionen för att anropa Azure Load Testing.

Förutsättningar

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 Load Test Contributor 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 tjänsthuvudnamnsobjekt.

  1. 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.

  2. Välj inställningar för Project>Service>+ Ny tjänstanslutning.

  3. I fönstret Ny tjänstanslutning väljer du fönstret Azure Resource Manager och väljer sedan Nästa.

  4. Välj autentiseringsmetoden Tjänsthuvudnamn (automatisk) och välj sedan Nästa.

  5. Ange information om tjänstanslutningen och välj sedan Spara för att skapa tjänstanslutningen.

    Fält Värde
    Omfångsnivå Prenumeration.
    Prenumeration 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.
  6. I listan över tjänstanslutningar väljer du den som du skapade tidigare och väljer sedan Hantera tjänstens huvudnamn.

    Skärmbild som visar val för att hantera en tjänsts huvudprincip.

    Azure-portalen öppnas på en separat webbläsarflik och visar information om tjänstens huvudnamn.

  7. I Azure-portalen kopierar du värdet displaynamn.

    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 huvudprincip.

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 service principal.

  1. I Azure-portalen går du till din Azure Load Testing resurs.

  2. Välj Åtkomstkontroll (IAM)>Lägg till>Lägg till rolltilldelning.

  3. På fliken Roll väljer du Läs in testdeltagare i listan över jobbfunktionsroller.

    Screenshot som visar listan över roller på sidan Lägg till rolltilldelning i Azure-portalen och markerar rollen Load Test Contributor.

  4. 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.

  5. Välj tjänstens huvudnamn och välj sedan Välj.

  6. fliken Granska + tilldela väljer du Granska + tilldela för att lägga till rolltilldelningen.

Nu kan du använda tjänstanslutningen i din Azure-pipelines arbetsflödesdefinition för att få åtkomst till din Azure belastningstestningsresurs.

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:

Om du har ett befintligt belastningstest kan du ladda ned konfigurationsinställningarna och alla indatafiler direkt från Azure portalen. Utför följande steg för att ladda ned indatafilerna för en befintlig belastningstestning i Azure portalen:

  1. I Azure-portalen går du till din Azure Load Testing resurs.

  2. I den vänstra rutan väljer du Tester för att visa listan över belastningstester och väljer sedan ditt test.

    Screenshot som visar listan över tester för en Azure Load Testing resource.

  3. 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.

    Skärmbild som visar hur du laddar ned resultatfilen för en belastningstestkörning.

  4. 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 eller .py: JMeter- eller Locust-testskriptet
    • Eventuella ytterligare indatafiler, till exempel CSV-filer eller filer med användaregenskaper som behövs för att köra belastningstestet.
  5. Skicka alla extraherade indatafiler till ditt versionskontrollsystem.

    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 körning av 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 Azure Load Testing uppgift-tillägget från Azure DevOps Marketplace.

  1. Öppna aktivitetstillägget Azure Load Testing på Azure DevOps Marketplace och välj Hämta det kostnadsfritt.

  2. 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 organisation väljer du Request för att begära att en administratör installerar tillägget.

Uppdatera arbetsflödet för Azure-pipelines

Uppdatera ditt Azure-pipelines arbetsflöde för att köra ett belastningstest för din Azure belastningstestningsresurs.

  1. Logga in på din Azure DevOps organisation (https://dev.azure.com/<your-organization>) och välj ditt projekt.

  2. 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.

  3. Använd uppgiften AzureLoadTest för att köra belastningstestet.

    Ange konfigurationsfilen för belastningstestet som du exporterade tidigare i egenskapen loadTestConfigFile .

    Ersätt platshållarna <load-testing-resource> och <load-testing-resource-group> 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 valfritt skicka parametrar eller hemligheter till belastningstestet med hjälp av egenskapen env eller secrets. Ange waitForCompletion: false om du vill fortsätta utan att vänta på att belastningstestkörningen ska slutföras.

  4. Använd uppgiften publish för att publicera testresultaten som artefakter i din Azure-pipelines arbetsflödeskörning.

        - 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.

Skärmbild som visar information om arbetsflödesloggning.

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.

  1. Ta bort Azure-pipelines ändringar:

    1. 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.

    2. Om du har skapat en ny pipeline":

      1. Välj Pipelinesoch välj sedan din pipeline.

      2. Välj ellipsen och välj sedan Ta bort.

        Screenshot som visar hur du tar bort en Azure-pipelines definition.

      3. Ange pipelinenamnet och välj sedan Ta bort för att ta bort pipelinen.

    3. Om du har ändrat en befintlig arbetsflödesdefinition kan du ångra ändringarna för att köra belastningstestet och spara arbetsflödet.

  2. Ta bort tjänstanslutningen:

    1. Välj Project inställningar>Service-anslutningar och välj sedan tjänstanslutningen.
    2. 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.