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
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Test testowania obciążenia platformy Azure. Utwórz test obciążeniowy oparty na adresie URL lub użyj istniejącego skryptu JMeter, aby utworzyć test obciążeniowy.
- 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.
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.Wybierz pozycję Połączenia usługi> Ustawienia projektu>+ Nowe połączenie z usługą.
W okienku Nowe połączenie z usługą wybierz usługę Azure Resource Manager, a następnie wybierz pozycję Dalej.
Wybierz metodę uwierzytelniania jednostka usługi (automatyczna), a następnie wybierz przycisk Dalej.
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. Z listy połączeń usług wybierz utworzoną wcześniej, a następnie wybierz pozycję Zarządzaj jednostką usługi.
Witryna Azure Portal zostanie otwarta na osobnej karcie przeglądarki i wyświetli szczegóły jednostki usługi.
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.
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
Wybierz pozycję Kontrola dostępu (IAM)>Dodaj>przypisanie roli.
Na karcie Rola wybierz pozycję Współautor testu obciążeniowego na liście ról funkcji zadania.
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.
Wybierz jednostkę usługi, a następnie wybierz pozycję Wybierz.
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:
W witrynie Azure Portal przejdź do zasobu testowania obciążenia platformy Azure.
W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów obciążeniowych, a następnie wybierz test.
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.
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.
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.
Otwórz rozszerzenie zadania Azure Load Testing w witrynie Azure DevOps Marketplace i wybierz pozycję Pobierz bezpłatnie.
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.
Zaloguj się do organizacji usługi Azure DevOps (
https://dev.azure.com/<your-organization>
) i wybierz projekt.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.
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 lubsecrets
.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.
Czyszczenie zasobów
Jeśli nie planujesz korzystać z żadnych utworzonych zasobów, usuń je, aby nie ponosić żadnych dodatkowych opłat.
Usuń zmiany usługi Azure Pipelines:
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.Jeśli utworzono nowy potok":
Jeśli zmodyfikowano istniejącą definicję przepływu pracy, cofnij modyfikacje uruchamiania testu obciążeniowego i zapisz przepływ pracy.
Usuń połączenie z usługą:
- Wybierz pozycję Połączenia usługi Ustawienia>projektu, a następnie wybierz połączenie z usługą.
- 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.