Manuelle Konfiguration Ihres CI/CD-Workflows für die Ausführung von Auslastungstests

Sie können einen Auslastungstest in Azure Load Testing automatisieren, indem Sie eine CI/CD-Pipeline erstellen. In diesem Artikel erfahren Sie, wie Sie GitHub-Aktionen, Azure-Pipelines oder andere CI-Tools manuell konfigurieren, um einen vorhandenen Test in Azure Load Testing aufzurufen. Automatisieren Sie einen Auslastungstest, um die Leistung und Stabilität der Anwendung kontinuierlich unter Last zu überprüfen.

So fügen Sie einer CI/CD-Pipeline einen vorhandenen Auslastungstest hinzu:

  • Konfigurieren Sie die Dienstauthentifizierung, damit das CI-Tool eine Verbindung mit Ihrer Azure-Lasttestressource herstellen kann.
  • Fügen Sie Ihrem Repository Lasttesteingabedateien hinzu, z. B. das JMeter-Testskript und die YAML-Konfiguration für den Auslastungstest.
  • Aktualisieren Sie die CI/CD-Pipelinedefinition, um Azure Load Testing aufzurufen.

Voraussetzungen

  • Eine Azure DevOps-Organisation und ein entsprechendes Projekt. Falls Sie über keine Azure DevOps-Organisation verfügen, können Sie kostenlos eine erstellen. Informationen zu den ersten Schritten mit Azure Pipelines finden Sie bei Bedarf unter Erstellen Ihrer ersten Pipeline.

Konfigurieren der Dienstauthentifizierung

Um einen Auslastungstest in Ihrem CI/CD-Workflow auszuführen, müssen Sie dem CI/CD-Workflow die Berechtigung für den Zugriff auf Ihre Auslastungstestressource erteilen. Erstellen Sie einen Dienstprinzipal für den CI/CD-Workflow, und weisen Sie die Azure RBAC-Rolle „Mitwirkender für Auslastungstest“ zu.

Erstellen einer Dienstverbindung in Azure Pipelines

In Azure Pipelines erstellen Sie eine Dienstverbindung in Ihrem Azure DevOps-Projekt, um auf Ressourcen in Ihrem Azure-Abonnement zuzugreifen. Wenn Sie die Dienstverbindung erstellen, erstellt Azure DevOps ein Microsoft Entra-Dienstprinzipalobjekt.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation (https://dev.azure.com/<your-organization>) an und wählen Sie Ihr Projekt.

    Ersetzen Sie den Textplatzhalter <your-organization> durch Ihren Projektbezeichner.

  2. Wählen Sie Projekteinstellungen>Dienstverbindungen>+ Neue Dienstverbindung aus.

  3. Wählen Sie im Bereich Neue Dienstverbindung die Option Azure Resource Manager aus, und klicken Sie dann auf Weiter.

  4. Wählen Sie die Authentifizierungsmethode Dienstprinzipal (automatisch) und anschließend Weiter aus.

  5. Geben Sie die Details zur Dienstverbindung ein, und wählen Sie dann Speichern aus, um die Dienstverbindung zu erstellen.

    Feld Wert
    Bereichsebene Abonnement.
    Abonnement Wählen Sie das Azure-Abonnement aus, das Ihre Auslastungstestressource hostet.
    Ressourcengruppe Wählen Sie die Ressourcengruppe aus, die die Ressource für den Auslastungstest enthält.
    Name der Dienstverbindung Geben Sie für die Dienstverbindung einen eindeutigen Namen ein.
    Gewähren der Zugriffsberechtigung für alle Pipelines Aktiviert
  6. Wählen Sie in der Liste der Dienstverbindungen die zuvor erstellte Dienstverbindung aus, und wählen Sie dann Dienstprinzipal verwalten aus.

    Screenshot that shows selections for managing a service principal.

    Das Azure-Portal wird auf einer separaten Browserregisterkarte geöffnet und zeigt die Dienstprinzipaldetails an.

  7. Kopieren Sie im Azure-Portal den Wert Anzeigename.

    Sie verwenden diesen Wert im nächsten Schritt, um dem Dienstprinzipal Berechtigungen zum Ausführen von Auslastungstests zu erteilen.

Gewähren des Zugriffs auf Azure Load Testing

Azure Load Testing verwendet Azure RBAC, um Berechtigungen für die Ausführung bestimmter Aktivitäten für Ihre Auslastungstestressource zu erteilen. Um einen Auslastungstest über Ihre CI/CD-Pipeline auszuführen, weisen Sie dem Dienstprinzipal die Rolle „Mitwirkender für Auslastungstest“ zu.

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.

  2. Klicken Sie auf Zugriffssteuerung (IAM)>Hinzufügen>Rollenzuweisung hinzufügen.

  3. Wählen Sie auf der Registerkarte Rolle in der Liste der Auftragsfunktionsrollen die Option Mitwirkender für Auslastungstest aus.

    Screenshot that shows the list of roles in the Add role assignment page in the Azure portal, highlighting the Load Test Contributor role.

  4. Wählen Sie auf der Registerkarte Mitglieder die Option Mitglieder auswählen aus, und verwenden Sie dann den Anzeigenamen, den Sie zuvor kopiert haben, um den Dienstprinzipal zu suchen.

  5. Wählen Sie den Dienstprinzipal und dann Auswählen aus.

  6. Wählen Sie auf der Registerkarte Überprüfen + zuweisen die Option Überprüfen + zuweisen aus, um die Rollenzuweisung hinzuzufügen.

Sie können jetzt die Dienstverbindung in Ihrer Azure Pipelines-Workflowdefinition verwenden, um auf Ihre Azure-Auslastungstestressource zuzugreifen.

Hinzufügen von Ladetestdateien in Ihrem Repository

Um einen Auslastungstest mit Azure Load Testing in einem CI/CD-Workflow auszuführen, müssen Sie alle Ladetesteingabedateien in Ihrem Quellcodeverwaltungs-Repository hinzufügen.

Wenn Sie keinen Ladetest haben, fügen Sie dem Quellcode-Repository die folgenden Dateien hinzu:

  • YaML-Datei zum Laden der Testkonfiguration. Erfahren Sie, wie Sie eine YAML-Datei für die Auslastungstestkonfiguration erstellen können.
  • Testplandatei. Fügen Sie für JMeter-basierte Tests ein JMeter-Testskript (JMX Datei) hinzu. Fügen Sie für URL-basierte Tests eine JSON-Anforderungsdatei hinzu.
  • Alle JMeter-Benutzereigenschaftendateien.
  • Alle Eingabedatendateien, die Ihr Testplan verwendet. Beispiel: CSV-Datendateien.

Wenn Sie über einen vorhandenen Ladetest verfügen, können Sie die Konfigurationseinstellungen und alle Eingabedateien direkt aus der Azure-Portal herunterladen. Führen Sie die folgenden Schritte aus, um die Eingabedateien für einen vorhandenen Auslastungstest im Azure-Portal herunterzuladen:

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.

  2. Wählen Sie im linken Bereich Tests aus, um die Liste der Auslastungstests anzuzeigen, und wählen Sie dann Ihren Test aus.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

  3. Wählen Sie die Auslassungspunkte (...) neben dem Testlauf aus, mit dem Sie arbeiten, und wählen Sie dann Eingabedatei herunterladen aus.

    Der Browser lädt einen gezippten Ordner herunter, der die Eingabedateien für den Auslastungstest enthält.

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

  4. Verwenden Sie ein beliebiges ZIP-Tool, um die Eingabedateien zu extrahieren.

    Der Ordner enthält die folgenden Dateien:

    • config.yaml: Die YAML-Konfigurationsdatei für den Auslastungstest. Sie verweisen auf diese Datei in der CI/CD-Workflowdefinition.
    • .jmx: das JMeter-Testskript
    • Alle zusätzlichen Eingabedateien, z. B. CSV-Dateien oder Benutzereigenschaftendateien, die zum Ausführen des Auslastungstests benötigt werden.
  5. Committen Sie alle extrahierten Eingabedateien in Ihr Quellcodeverwaltungsrepository.

    Verwenden Sie das Quellcoderepository, in dem Sie die CI/CD-Pipeline konfigurieren.

Aktualisieren der CI/CD-Workflowdefinition

Azure Load Testing unterstützt sowohl GitHub Actions als auch Azure Pipelines zum Ausführen von Auslastungstests.

Installieren der Azure Load Testing-Erweiterung für Azure DevOps

Zum Erstellen und Ausführen eines Auslastungstests verwendet die Azure Pipelines-Workflowdefinition die Erweiterung Azure Load Testing-Aufgabe aus dem Azure DevOps-Marketplace.

  1. Öffnen Sie die Azure Load Testing-Aufgabenerweiterung im Azure DevOps-Marketplace und wählen Sie Kostenlos abrufen aus.

  2. Wählen Sie Ihre Azure DevOps-Organisation aus und wählen Sie dann Installieren aus, um die Erweiterung zu installieren.

    Wenn Sie nicht über Administratorberechtigungen für die ausgewählte Azure DevOps-Organisation verfügen, wählen Sie Anforderung aus, um einen Administrator anzufordern, die Erweiterung zu installieren.

Aktualisieren des Azure Pipelines-Workflows

Aktualisieren Sie Ihren Azure Pipelines-Workflow, um einen Auslastungstest für Ihre Azure-Auslastungstestressource auszuführen.

  1. Melden Sie sich bei Ihrer Azure DevOps-Organisation (https://dev.azure.com/<your-organization>) an und wählen Sie Ihr Projekt.

  2. Wählen Sie im linken Navigationsbereich Pipelines aus, wählen Sie Ihre Pipeline und dann Bearbeiten aus, um Ihre Workflowdefinition zu bearbeiten.

    Alternativ können Sie Pipeline erstellen auswählen, um eine neue Pipeline in Azure Pipelines zu erstellen.

  3. Verwenden Sie die AzureLoadTest-Aufgabe, um den Auslastungstest auszuführen.

    Geben Sie in der loadTestConfigFile-Eigenschaft die Konfigurationsdatei für den Auslastungstest an, die Sie zuvor exportiert haben.

    Ersetzen Sie die Textplatzhalter <load-testing-resource> und <load-testing-resource-group> durch den Namen Ihrer Azure-Auslastungstestressource und die Ressourcengruppe.

        - task: AzureLoadTest@1
          inputs:
            azureSubscription: $(serviceConnection)
            loadTestConfigFile: 'config.yaml'
            loadTestResource: <load-testing-resource>
            resourceGroup: <load-testing-resource-group>
    

    Optional können Sie Parameter oder Geheimnisse mithilfe der env-Eigenschaft oder der secrets-Eigenschaft an den Auslastungstest übergeben.

  4. Verwenden Sie die publish-Aufgabe, um die Testergebnisse als Artefakte in Ihrer Azure Pipelines-Workflowausführung zu veröffentlichen.

        - publish: $(System.DefaultWorkingDirectory)/loadTest
          artifact: loadTestResults
    

Anzeigen von Auslastungstestergebnissen

Wenn Sie einen Auslastungstest über Ihre CI/CD-Pipeline ausführen, können Sie die Zusammenfassungsergebnisse direkt im CI/CD-Ausgabeprotokoll anzeigen. Wenn Sie die Testergebnisse als Pipelineartefakt veröffentlicht haben, können Sie auch eine CSV-Datei für die weitere Berichterstellung herunterladen.

Screenshot that shows the workflow logging information.

Bereinigen von Ressourcen

Wenn Sie die erstellten Ressourcen nicht mehr benötigen, löschen Sie sie, damit Ihnen keine weiteren Kosten entstehen.

  1. Entfernen von Azure Pipelines-Änderungen:

    1. Melden Sie sich bei Ihrer Azure DevOps-Organisation (https://dev.azure.com/<your-organization>) an und wählen Sie Ihr Projekt.

      Ersetzen Sie den Textplatzhalter <your-organization> durch Ihren Projektbezeichner.

    2. Wenn Sie eine neue Pipeline erstellt haben:

      1. Wählen Sie Pipelines und dann Ihre Pipeline aus.

      2. Wählen Sie die Auslassungspunkte und anschließend Löschen aus.

        Screenshot that shows how to delete an Azure Pipelines definition.

      3. Geben Sie den Pipelinenamen ein, und wählen Sie dann Löschen aus, um die Pipeline zu löschen.

    3. Wenn Sie eine vorhandene Workflowdefinition geändert haben, machen Sie die Änderungen für das Ausführen des Auslastungstests rückgängig, und speichern Sie den Workflow.

  2. Entfernen der Dienstverbindung:

    1. Wählen Sie Projekteinstellungen>Dienstverbindungen und dann Ihre Dienstverbindung aus.
    2. Wählen Sie Bearbeiten>Löschen aus, um die Dienstverbindung zu entfernen.

Nächste Schritte

Fahren Sie mit dem nächsten Artikel fort, um zu erfahren, wie Sie Leistungsregressionen ermitteln, indem Sie Fehlerkriterien für Tests definieren und Testläufe vergleichen.