Dela via


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

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.

  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 Projektinställningar>Tjänstanslutningar>+ Ny tjänstanslutning.

  3. I fönstret Ny tjänstanslutning väljer du Azure Resource Manager och 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.
    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.
  6. I listan över tjänstanslutningar väljer du den som du skapade tidigare och väljer sedan Hantera tjänstens huvudnamn.

    Screenshot that shows selections for managing a service principal.

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

  7. I Azure-portalen 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.

  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 that shows the list of roles in the Add role assignment page in the Azure portal, highlighting the Load Test Contributor role.

  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. 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-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 that shows the list of tests for an 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.

    Screenshot that shows how to download the results file for a load test run.

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

  1. Öppna azure load testing-aktivitetstillägget på Azure DevOps Marketplace och välj Hämta 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-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.

  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 .

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

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

Screenshot that shows the workflow logging information.

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 Ändringar i Azure Pipelines:

    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 Pipelines och välj sedan din pipeline.

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

        Screenshot that shows how to delete an 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 Projektinställningar>Tjänstanslutningar och välj sedan din tjänstanslutning.
    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.