Ręczne konfigurowanie przepływu pracy ciągłej integracji/ciągłego wdrażania na potrzeby uruchamiania testów obciążeniowych

Test obciążeniowy można zautomatyzować w usłudze Azure Load Testing, tworząc potok ciągłej integracji/ciągłego wdrażania. Z tego artykułu dowiesz się, jak ręcznie skonfigurować funkcję GitHub Actions, usługę Azure Pipelines lub inne narzędzia ciągłej integracji w celu wywołania istniejącego testu w usłudze Azure Load Testing. Zautomatyzuj test obciążeniowy, aby stale weryfikować wydajność i stabilność aplikacji pod obciążeniem.

Aby dodać istniejący test obciążeniowy do potoku ciągłej integracji/ciągłego wdrażania:

  • Skonfiguruj uwierzytelnianie usługi, aby umożliwić narzędziu ciągłej integracji łączenie się z zasobem testowania obciążenia platformy Azure.
  • Dodaj pliki wejściowe testu obciążeniowego do repozytorium, takie jak skrypt testowy JMeter i konfiguracja yaML testu obciążeniowego.
  • Zaktualizuj definicję potoku ciągłej integracji/ciągłego wdrażania, aby wywołać testowanie obciążenia platformy Azure.

Wymagania wstępne

  • Organizacja i projekt usługi Azure DevOps. Jeśli nie masz organizacji usługi Azure DevOps, możesz go utworzyć bezpłatnie. Jeśli potrzebujesz pomocy dotyczącej rozpoczynania pracy z usługą Azure Pipelines, zobacz Tworzenie pierwszego potoku.

Konfigurowanie uwierzytelniania usługi

Aby uruchomić test obciążeniowy w przepływie pracy ciągłej integracji/ciągłego wdrażania, musisz udzielić uprawnień do przepływu pracy ciągłej integracji/ciągłego wdrażania w celu uzyskania dostępu do zasobu testowania obciążenia. Utwórz jednostkę usługi dla przepływu pracy ciągłej integracji/ciągłego wdrażania i przypisz rolę RBAC współautora testu obciążenia platformy Azure.

Tworzenie połączenia usługi w usłudze Azure Pipelines

W usłudze Azure Pipelines utworzysz połączenie usługi w projekcie usługi Azure DevOps w celu uzyskania dostępu do zasobów w ramach subskrypcji platformy Azure. Podczas tworzenia połączenia z usługą usługa Azure DevOps tworzy obiekt jednostki usługi Microsoft Entra.

  1. Zaloguj się do organizacji usługi Azure DevOps (https://dev.azure.com/<your-organization>) i wybierz projekt.

    Zastąp <your-organization> symbol zastępczy tekst identyfikatorem projektu.

  2. Wybierz pozycję Połączenia usługi> Ustawienia projektu>+ Nowe połączenie z usługą.

  3. W okienku Nowe połączenie z usługą wybierz usługę Azure Resource Manager, a następnie wybierz pozycję Dalej.

  4. Wybierz metodę uwierzytelniania jednostka usługi (automatyczna), a następnie wybierz przycisk Dalej.

  5. Wprowadź szczegóły połączenia z usługą, a następnie wybierz pozycję Zapisz , aby utworzyć połączenie z usługą.

    Pole Wartość
    Poziom zakresu Subskrypcja.
    Subskrypcja Wybierz subskrypcję platformy Azure, która hostuje zasób testowania obciążenia.
    Grupa zasobów: Wybierz grupę zasobów zawierającą zasób testowania obciążenia.
    Nazwa połączenia z usługą Wprowadź unikatową nazwę połączenia z usługą.
    Udzielanie uprawnień dostępu do wszystkich potoków Zaznaczono.
  6. Z listy połączeń usług wybierz utworzoną wcześniej, a następnie wybierz pozycję Zarządzaj jednostką usługi.

    Screenshot that shows selections for managing a service principal.

    Witryna Azure Portal zostanie otwarta na osobnej karcie przeglądarki i wyświetli szczegóły jednostki usługi.

  7. W witrynie Azure Portal skopiuj wartość Nazwa wyświetlana.

    Ta wartość jest używana w następnym kroku, aby udzielić uprawnień do uruchamiania testów obciążeniowych do jednostki usługi.

Udzielanie dostępu do testowania obciążenia platformy Azure

Testowanie obciążenia platformy Azure używa kontroli dostępu opartej na rolach platformy Azure, aby udzielić uprawnień do wykonywania określonych działań na zasobie testowania obciążenia. Aby uruchomić test obciążeniowy z potoku ciągłej integracji/ciągłego wdrażania, należy udzielić roli Współautor testu obciążeniowego do jednostki usługi.

  1. W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.

  2. Wybierz pozycję Kontrola dostępu (IAM)>Dodaj>przypisanie roli.

  3. Na karcie Rola wybierz pozycję Współautor testu obciążeniowego na liście ról funkcji zadania.

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

  4. Na karcie Członkowie wybierz pozycję Wybierz elementy członkowskie, a następnie użyj nazwy wyświetlanej skopiowaną wcześniej, aby przeszukać jednostkę usługi.

  5. Wybierz jednostkę usługi, a następnie wybierz pozycję Wybierz.

  6. Na karcie Przeglądanie i przypisywanie wybierz pozycję Przejrzyj i przypisz, aby dodać przypisanie roli.

Teraz możesz użyć połączenia usługi w definicji przepływu pracy usługi Azure Pipelines, aby uzyskać dostęp do zasobu testowania obciążenia platformy Azure.

Dodawanie plików testów obciążeniowych w repozytorium

Aby uruchomić test obciążeniowy za pomocą usługi Azure Load Testing w przepływie pracy ciągłej integracji/ciągłego wdrażania, należy dodać wszystkie pliki wejściowe testów obciążeniowych w repozytorium kontroli źródła.

Jeśli nie masz istniejącego testu obciążeniowego, dodaj następujące pliki do repozytorium kodu źródłowego:

  • Plik YAML konfiguracji testu obciążeniowego. Dowiedz się, jak utworzyć plik YAML konfiguracji testu obciążeniowego.
  • Plik planu testu. W przypadku testów opartych na JMeter dodaj skrypt testowy JMeter (JMX plik). W przypadku testów opartych na adresach URL dodaj plik JSON żądań.
  • Wszystkie pliki właściwości użytkownika JMeter.
  • Wszystkie pliki danych wejściowych używanych przez plan testowy. Na przykład pliki danych CSV.

Jeśli masz istniejący test obciążeniowy, możesz pobrać ustawienia konfiguracji i wszystkie pliki wejściowe bezpośrednio z witryny Azure Portal. Wykonaj następujące kroki, aby pobrać pliki wejściowe na potrzeby istniejącego testowania obciążenia w witrynie Azure Portal:

  1. W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.

  2. W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów obciążeniowych, a następnie wybierz test.

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

  3. Wybranie wielokropka (...) obok przebiegu testu, z którym pracujesz, a następnie wybierz pozycję Pobierz plik wejściowy.

    Przeglądarka pobiera spakowany folder zawierający pliki wejściowe testu obciążeniowego.

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

  4. Wyodrębnianie plików wejściowych za pomocą dowolnego narzędzia zip.

    Folder zawiera następujące pliki:

    • config.yaml: plik konfiguracji testu obciążeniowego YAML. Odwołujesz się do tego pliku w definicji przepływu pracy ciągłej integracji/ciągłego wdrażania.
    • .jmx: skrypt testowy JMeter
    • Wszelkie dodatkowe pliki wejściowe, takie jak pliki CSV lub pliki właściwości użytkownika potrzebne do uruchomienia testu obciążeniowego.
  5. Zatwierdź wszystkie wyodrębnione pliki wejściowe do repozytorium kontroli źródła.

    Użyj repozytorium kodu źródłowego, w którym konfigurujesz potok ciągłej integracji/ciągłego wdrażania.

Aktualizowanie definicji przepływu pracy ciągłej integracji/ciągłego wdrażania

Testowanie obciążenia platformy Azure obsługuje zarówno akcje GitHub Actions, jak i usługę Azure Pipelines na potrzeby uruchamiania testów obciążeniowych.

Instalowanie rozszerzenia Azure Load Testing dla usługi Azure DevOps

Aby utworzyć i uruchomić test obciążeniowy, definicja przepływu pracy usługi Azure Pipelines używa rozszerzenia zadania Testowania obciążenia platformy Azure z witryny Azure DevOps Marketplace.

  1. Otwórz rozszerzenie zadania Azure Load Testing w witrynie Azure DevOps Marketplace i wybierz pozycję Pobierz bezpłatnie.

  2. Wybierz organizację usługi Azure DevOps, a następnie wybierz pozycję Zainstaluj , aby zainstalować rozszerzenie.

    Jeśli nie masz uprawnień administratora dla wybranej organizacji usługi Azure DevOps, wybierz pozycję Zażądaj , aby poprosić administratora o zainstalowanie rozszerzenia.

Aktualizowanie przepływu pracy usługi Azure Pipelines

Zaktualizuj przepływ pracy usługi Azure Pipelines, aby uruchomić test obciążeniowy dla zasobu testowania obciążenia platformy Azure.

  1. Zaloguj się do organizacji usługi Azure DevOps (https://dev.azure.com/<your-organization>) i wybierz projekt.

  2. Wybierz pozycję Potoki w obszarze nawigacji po lewej stronie, wybierz potok, a następnie wybierz pozycję Edytuj , aby edytować definicję przepływu pracy.

    Alternatywnie wybierz pozycję Utwórz potok , aby utworzyć nowy potok w usłudze Azure Pipelines.

  3. AzureLoadTest Użyj zadania , aby uruchomić test obciążeniowy.

    Określ wyeksportowany wcześniej plik konfiguracji testu obciążeniowego loadTestConfigFile we właściwości .

    <load-testing-resource> Zastąp symbole zastępcze i <load-testing-resource-group> nazwą zasobu testowania obciążenia platformy Azure i grupą zasobów.

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

    Opcjonalnie możesz przekazać parametry lub wpisy tajne do testu obciążeniowego przy użyciu env właściwości lub secrets .

  4. publish Użyj zadania , aby opublikować wyniki testu jako artefakty w przebiegu przepływu pracy usługi Azure Pipelines.

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

Wyświetlanie wyników testu obciążeniowego

Po uruchomieniu testu obciążeniowego z potoku ciągłej integracji/ciągłego wdrażania można wyświetlić wyniki podsumowania bezpośrednio w dzienniku danych wyjściowych ciągłej integracji/ciągłego wdrażania. Jeśli wyniki testu zostały opublikowane jako artefakt potoku, możesz również pobrać plik CSV w celu dalszego raportowania.

Screenshot that shows the workflow logging information.

Czyszczenie zasobów

Jeśli nie planujesz korzystać z żadnych utworzonych zasobów, usuń je, aby nie ponosić żadnych dodatkowych opłat.

  1. Usuń zmiany usługi Azure Pipelines:

    1. Zaloguj się do organizacji usługi Azure DevOps (https://dev.azure.com/<your-organization>) i wybierz projekt.

      Zastąp <your-organization> symbol zastępczy tekst identyfikatorem projektu.

    2. Jeśli utworzono nowy potok":

      1. Wybierz pozycję Potoki, a następnie wybierz potok.

      2. Wybierz wielokropek, a następnie wybierz pozycję Usuń.

        Screenshot that shows how to delete an Azure Pipelines definition.

      3. Wprowadź nazwę potoku, a następnie wybierz pozycję Usuń , aby usunąć potok.

    3. Jeśli zmodyfikowano istniejącą definicję przepływu pracy, cofnij modyfikacje uruchamiania testu obciążeniowego i zapisz przepływ pracy.

  2. Usuń połączenie z usługą:

    1. Wybierz pozycję Połączenia usługi Ustawienia>projektu, a następnie wybierz połączenie z usługą.
    2. Wybierz pozycję Edytuj>usuń, aby usunąć połączenie z usługą.

Następne kroki

Przejdź do następnego artykułu, aby dowiedzieć się, jak identyfikować regresje wydajności, definiując kryteria testu niepowodzenia i porównując przebiegi testów.